Selamlar,
Benim projelerimden bir tane örnek source,
Kod: Tümünü seç
constructor TAskYTSThread.Create(APhoneNumber, AYTSExeName, AYTSPathName : string;
AReqType : integer);
begin
inherited Create; // Hemen Çalış
Self.FreeOnTerminate := True;
Self.FReqType := AReqType ;
end;
destructor TAskYTSThread.Destroy;
begin
inherited;
end;
procedure TAskYTSThread.AskYTS;
var
FYtsTopicName, strMacro : string ;
begin
FYtsTopicName := LeftStr(FYTSExeName, Length(FYTSExeName)-4);
case FReqType of
REQ_TYPE_INFO : begin
...
end;
REQ_TYPE_OPEN_FILE : begin
...
end;
end;
end;
procedure TAskYTSThread.Execute;
begin
inherited;
FDDE_BUSY.Enter ;
try
if IsYTSRunning then
begin
Synchronize(AskYTS);
end ;
finally
FDDE_BUSY.Leave ;
end;
end;
Yukarıdaki Thread'de AskYTS denen fonksiyonu çağırıyorum. Yani Thread oluşturuluyor ve Main thread normal işine devam ederken bu oluşturulan Thread de gidip Synchrinize bir biçimde kendi işini yapıyor.
Not : Tüm source'u yollamadım aradan biraz sildim (örnek teşkil etmesi gereken noktaları bıraktım sadece)
Kolay Gelsin