Главная страница
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.059 c
14-1080655476
YurikGl
2004-03-30 18:04
2004.04.25
Оценка стоимости ущерба.


8-1074793579
Aga
2004-01-22 20:46
2004.04.25
MIDI


3-1080807471
ilya
2004-04-01 12:17
2004.04.25
Active Directory


14-1079678868
Красная Майка
2004-03-19 09:47
2004.04.25
KIMP - лог встречи


1-1081662810
Sphinx
2004-04-11 09:53
2004.04.25
Событие восстановления окна