Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.25;
Скачать: CL | DM;

Вниз

Как передать в функцию CallBack процедуру?   Найти похожие ветки 

 
still_swamp ©   (2004-04-09 17:48) [0]

type
TMyProc = procedure(i:integer);

Prc: TMyProc;

procedure Prc;
begin
ShowMessage("asd");
end;

SendProc(@Prc); - это хочет параметров не воспринимая @Prc как параметр. Что нужно сделать. Подскажите плс.


 
Smithson ©   (2004-04-09 17:56) [1]

Опиание SendProc покажи


 
still_swamp ©   (2004-04-09 17:57) [2]

function SendProc(AProcCallBack:TMyProc):integer;


 
Тимохов ©   (2004-04-09 18:00) [3]

убрать @

и описать процедуру prc с праметром, также как описана tmyproc


 
Smithson ©   (2004-04-09 18:00) [4]

Сталбыть - SendProc(Prc);


 
still_swamp ©   (2004-04-09 18:06) [5]

компилятор говорит Conversion Differ.
да - маленькое уточнение:
procedure Prc; - эта процедура некого TObject.

нечто вроде
TMyObject = Class (TObject);
procedure Prc:TMyProc;
end;


 
Smithson ©   (2004-04-09 18:08) [6]

А вот так нельзя. Для этого TMyProc необходимо описать как procedure of object.


 
still_swamp ©   (2004-04-09 18:16) [7]

TMyProc = procedure(i:integer) of object;

пробовал.
тогда говорит не совпадает Procedure и untipet pointer

гдя я мог ошибиться.


 
Тимохов ©   (2004-04-09 18:19) [8]

вы ошиблись в одном не прочли раздел хелпа

object pascal reference \ data types \ procedural types


 
still_swamp ©   (2004-04-09 18:22) [9]

TProcSetColor = procedure (ARGBA:TRGBA) of object;

function EditRGBA(.....; AProcSetColor:TProcSetColor): Integer; stdcall external "rgba.dll";

type
 T_FormList = class(TForm)
  function ChangeColorNavigateSphere(ARGBA: TRGBA):integer;

EditRGBA(.... @ChangeColorNavigateSphere);


 
WebErr ©   (2004-04-09 18:25) [10]


> гдя я мог ошибиться.

Везде и ошибся! :)

type
 TSomeMethod = procedure(i: Integer) of object;
 TSomeClass = class(...)
 ...
   SomeMethod: TSomeMethod;
 ...
 end;

 TAnotherClass = class(...)
 ...
   procedure AnotherMethod(i: Integer);
 ...
 end;

...
procedure UseSomeMethod(AMethod: TSomeMethod);
...
 SomeMethod := AnotherMethod;
...
 UseSomeMethod(A.SomeMethod);
...
procedure UseSomeMethod(AMethod: TSomeMethod);
begin

end;
...


 
WebErr ©   (2004-04-09 18:26) [11]


> Тимохов ©   (09.04.04 18:19) [8]

Gy! :))))


 
still_swamp ©   (2004-04-09 18:27) [12]

ок - читаю...


 
still_swamp ©   (2004-04-09 18:36) [13]

бред написал - сам вижу.
звиняйте... :)



Страницы: 1 вся ветка

Текущий архив: 2004.04.25;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.037 c
7-1077917612
Nekto
2004-02-28 00:33
2004.04.25
%systemroot%


3-1080648735
Алексей 2
2004-03-30 16:12
2004.04.25
TADoTable не сортирует по индексу


1-1081505343
Andrew2
2004-04-09 14:09
2004.04.25
Скроллинг в ListView


6-1077989539
rulezz
2004-02-28 20:32
2004.04.25
как с помощью indy слить фаил с тем же именем с каким отдана зака


8-1073767073
arcoant
2004-01-10 23:37
2004.04.25
quick graphics