Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.04.25;
Скачать: [xml.tar.bz2];

Вниз

Как передать в функцию 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.038 c
3-1080716517
-SeM-
2004-03-31 11:01
2004.04.25
Бинарная логика в Firebird


7-1077781349
DuhcmanSoft
2004-02-26 10:42
2004.04.25
Я наверное тормоз. Ничего догнать не могу.


7-1076865094
Delphin
2004-02-15 20:11
2004.04.25
Как програмно завершить процесс ?


1-1081121122
Passer-by
2004-04-05 03:25
2004.04.25
Фильтр для TFileName


1-1081164433
Stas
2004-04-05 15:27
2004.04.25
Помещение иконки в трей





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский