немогу разобраться как его использовать 

в h-файле формы объявляю функцию сравнения
private:	// User declarations
   	int __fastcall CompareFunc(void * Item1, void * Item2);
в срр-файле реализация
int  __fastcall TForm1::CompareFunc (void *Item1, void *Item2)
	{
		if (   ( ((TPart *)Item1)->GetDate())   <
		(((TPart *)Item2)->GetDate()))
			return 1;
			else if ( ( ((TPart *)Item1)->GetDate())   >
					(((TPart *)Item2)->GetDate()) ) return -1;
					else return 0;
	}
потом в обработчике кнопки вызываю функцию в цикле 
for (int i =ChanelA->Count-1; i<1; i--)
   {
	ChanelA->Sort(&CompareFunc(ChanelA->Items[i], ChanelA->Items[i-1]));
   }
при компиляции выдает ошибку:
[C++ Error] Unit1.cpp(75): E2027 Must take address of a memory location
пробовал создавать ссылку на функцию непомогает  
 
  
 
 сыпит ошибки компиляции:
[C++ Error] Unit1.cpp(74): E2235 Member function must be called or its address taken
[C++ Error] Unit1.cpp(75): E2034 Cannot convert 'int' to 'int (_fastcall *)(void *,void *)'
[C++ Error] Unit1.cpp(75): E2342 Type mismatch in parameter 'Compare' (wanted 'int (_fastcall *)(void *,void *)', got 'int')
немогу врубиться в чем трабла  
