Форум: "KOL";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
Внизработа с потоками Найти похожие ветки
← →
Лёха (2009-06-13 17:02) [0]Добрый день!
Скачал пример работы с потоками, а он с использованием MCK, мне нужно в чистом KOL.
вот кусок:
var
formThread: PThread;
function ThreadExecute(Sender: PThread): Integer;
begin
// тут выполняем какие-либо действия
end;
begin
form := NewForm(Applet, "Окно");
Run(form);
formThread := NewThread;
formThread.OnExecute := ThreadExecute;
end;
получаю такое:
[Error] Project99.dpr(39): Incompatible types: "method pointer and regular procedure"
через MakeMethod тоже не работает:
[Error] Project99.dpr(39): Incompatible types: "TOnThreadExecute" and "TMethod"
помогите плиз, как этот метод присвоить?
Заранее спасиб!!!
← →
Galkov (2009-06-13 17:22) [1]
Program ThreadTest;
uses windows,kol;
type Tsdk=object
Thread: PThread;
function ThreadExecute(Sender: PThread): Integer;
end;
var SDK:Tsdk;
function Tsdk.ThreadExecute(Sender: PThread): Integer;
begin
// тут выполняем какие-либо действия
Result := 0;
end;
begin
Applet := NewForm(Applet, "Окно");
SDK.Thread := NewThread;
SDK.Thread.OnExecute := SDK.ThreadExecute;
Run(Applet);
end.
← →
Лёха (2009-06-13 17:35) [2]спасибо! но я сделал чуть по-другому:
formThread.OnExecute := TOnThreadExecute(MakeMethod(nil, @ThreadExecute));
← →
Galkov (2009-06-13 20:40) [3]1) Да не вопрос, можно и так
2) Есть такой термин - чит. Это то, чем не следует пользоваться без крайней необходимости :)
← →
abyss_by © (2009-06-13 22:58) [4]var
MyThread: PThread;
procedure TForm1.FormThreadShow;
begin
if Assigned(ToolTipThread) then
MyThread.Terminate;
MyThread := NewThreadAutofree(ShowThread);//ShowThread будет ниже
MyThread.PriorityClass := THREAD_PRIORITY_IDLE;// тут на усмотрение конечно
MyThread.Threadpriority := THREAD_PRIORITY_LOWEST;
end;
function TForm1.ShowThread(Sender: pThread): integer;
begin
//tratata
end;
Страницы: 1 вся ветка
Форум: "KOL";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.067 c