![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Synhronize требует TNotifyEvent [D6]
}|{yk © (2004-06-15 13:32:00)А как в нее передать процедуру с параметрами?
Sha (2004-06-15 15:18:00) [1]}|{yk © (15.06.04 15:04) [10]
Код давай.
Sandman25 (2004-06-15 15:08:00) [2][10] }|{yk © (15.06.04 15:04)
Жаль :)
}|{yk (2004-06-15 15:04:00) [3]Опять Variable required
}|{yk (2004-06-15 14:44:00) [4]Т.е.? Sync это и так объект созданного мною класса
Sandman25 (2004-06-15 14:44:00) [5][6] }|{yk © (15.06.04 14:37)
type
TMyFunc = function(Param1: integer; param2: word): boolean;
TMyThread = class(TThread)
...
private
DoItParam1: integer;
DoItParam2: word;
DoItFunction: TMyFunc;
end;
function Function1(Param1: integer; param2: word): boolean;
begin
..
end;
procedure TMyThread.DoIt;
begin
DoItFunction(DoItParam1, DoItParam2);
end;
procedure TMyThread.Execute;
begin
...
DoItParam1 := 1;
DoItParam2 := 2;
DoItFunction := @Function1;
Synchronize(DoIt);
end;
default (2004-06-15 14:42:00) [6]см. [1]
}|{yk (2004-06-15 14:37:00) [7]Пишу
amethod.Code:=@Sync.LoadStrToMemo;
получаю Variable required
Mim1 (2004-06-15 13:53:00) [8]А вот так
Synchronize (TNotifyEvent(amethod));
Mim1 (2004-06-15 13:52:00) [9]
procedure SyncProc(ASelf, Sender: TObject);
begin
end;
...
var
amethod: TMethod;
begin
amethod.Code := @SyncProc;
amethod.Data := application;
Synchronize (amethod);
end;
Sandman25 (2004-06-15 13:46:00) [10]как члены класса
}|{yk (2004-06-15 13:45:00) [11]А указатель на функцию как передать?
Sandman25 (2004-06-15 13:41:00) [12]Никак. Но можно параметры хранить как члены класса и использовать в том методе, который вызывается через Synchronize