Вниз
Скачать: CL | DM;

Выполнение функции в отдельном потоке   Найти похожие ветки 

 
VID ©   (2002-08-28 21:48) [0]

Есть простая функция:
Function MakeSomeThing(InParam1:String; InParam2:Integer):String;
begin
Result := InParam1+IntToStr(InParam2);
end;

и есть BeginThread...

Насколько я понял, beginthread используется для того, что бы выполнить какую-либо функцию не в основном потоке приложения, а в дополнительном.

Но как назло, в хелпе маловато написано про эту функцию.
В-общем, вопрос:
Как правильно выполнить вышеуказаннюу функцию (MakeSomeThing) в отдельном потоке ? Причём не следует забывать про параметры которые обязательно должны быть переданы функции MakeSomeThing.


 
Старый паскалист   (2002-08-28 22:33) [1]

Вообще-то в дельфях обычно с потоками работают через TThread:
(А ф-я BeginThread вызывается в его конструкторе)

type
TMSTThread = class(TThread)
private
FInParam1: string;
FInParam2: Integer;
FResult: string;
public
constructor CreateWithArgs(AInParam1: string; AInParam2: Integer; CreateSuspended: Boolean);
// begin
// FInParam1 := AInParam1;
// FInParam2 := AInParam2;
// FreeOnTerminate := True; // False;
// Create(CreateSuspended);
// end;

procedure Execute; override;
// begin
// FResult := MakeSomeThing(FInParam1, FInParam2);
// // Как нибудь сообщить основному потоку, что работа
// // завершена (путём посылки сообщения или
// // выполнения синхронизованного метода, что,
// // в сущности, то же самое).
// end;
end;


Использовать BeginThread ещё имело бы, может быть, смысл, если бы у тебя ф-я была с одним аргументом - а так тебе всё равно придётся функцию-оболочку городить.


 
VID ©   (2002-08-28 23:37) [2]

БОЛЬШОЕ спасибо :)



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.01 c
8-27115
Bober
2002-04-30 23:55
2002.09.09
Текстурирование


3-26873
AM
2002-08-19 16:26
2002.09.09
Как задать автинкриментное поле в Access


3-26854
Piton X
2002-08-12 12:41
2002.09.09
Как мне перегнать данные из таблицы в таблицу Word


3-26893
Sergey L.
2002-08-20 09:48
2002.09.09
Работа с отчетами.


3-26918
Pingo
2002-08-19 18:15
2002.09.09
Upper и русские буквы




   Наверх