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

Вниз

Callback function   Найти похожие ветки 

 
Sodom   (2003-05-19 13:12) [0]

В общем тема такая. Я сделал функцию обратного вызова, ей я передаю один из параметров адрес функции, котороя вызывается из нее. Не работае если эта вызываемая функция является методом класса или находится внутри другой функции. В общем из кода думаю сьанет все ясно.

type
TFunc=function(b:byte):boolean; stdcall;
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
public
function D(b:byte):boolean; stdcall;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
function B(b:byte):boolean; stdcall;
begin
ShowMessageFmt("%d",[b]);
end;
function TForm1.D(b:byte):boolean; stdcall;
begin
ShowMessageFmt("%d",[b]);
end;
function A(f:TFunc):boolean; stdcall;
var i:integer;
begin
for i:=1 to 3 do f(i);
end;
procedure TForm1.FormCreate(Sender: TObject);
var m:TFunc;
function C(b:byte):boolean; stdcall;
begin
ShowMessageFmt("%s%d",["aa ",b]);
end;
begin
{1} m:=B;
{2} m:=C;
{3} m:=D;
A(@m);
end;
end.

Вариент {1} работает. А вот {2} и {3} нет. А хотелось бы что бы работали. Кто нить знает в чем дело?


 
MBo   (2003-05-19 13:17) [1]

метод класса - function(...):... of object

вложенная функция видна только в своем контейнере


 
Anatoly Podgoretsky   (2003-05-19 13:52) [2]

Ну желание это вещь хорошая, но только не выполнимое, разное количество параметров.


 
Sodom   (2003-05-19 14:18) [3]


>to Anatoly Podgoretsky

О каких параметрах ты говоришь? Вроде везде один b:byte.


 
Skier   (2003-05-19 14:26) [4]

>Sodom © (19.05.03 14:18)
+ неявный Self


 
Sodom   (2003-05-19 14:38) [5]


> Skier
И как с этим бороться?


 
Skier   (2003-05-19 14:40) [6]

>Sodom © (19.05.03 14:38)
Желательно мозг подключить ! :)


 
app   (2003-05-19 14:48) [7]

Sodom © (19.05.03 14:38)
Вариант номер 1



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

Форум: "Основная";
Текущий архив: 2003.05.29;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.009 c
1-94798
Kettle of delphi
2003-05-18 22:20
2003.05.29
Вопрос о компоненте Chart (графики, закладка Additional).


14-95084
lameridze
2003-05-10 20:26
2003.05.29
---|Ветка была без названия|---


3-94698
yurikon
2003-05-07 17:57
2003.05.29
SELECT - 1,2,3,4,...


3-94738
Alexandr3
2003-05-08 21:41
2003.05.29
Убрать запрос пароля для Парадоксовской таблицы


1-94903
rosl
2003-05-14 17:21
2003.05.29
excel





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский