Avatar billede walker Nybegynder
21. juni 2006 - 13:44 Der er 6 kommentarer

Terminate TThreads

Hej
Jeg har et problem med at afslutte mine tråde. Jeg er ny i Delphi-sproget, så jeg har derfor ikke så meget overblik over det endnu.

Jeg har en applikation og har derfor en TForm som hovedklasse. Hvis jeg eksekverer min kode i event-metoden "OnCreate" står systemet som "busy" indtil koden afsluttes... Jeg har derfor oprettet et par tråde (TThread) som eksekverer koden sideløbende... nu har jeg imidlertid problemer med at afslutte mit program, da mine tråde vist ikke har rettighed til at afslutte hverken hinanden eller de andre programmer... Min main-tråd er løbet ud, og kan derfor ikke gøre noget. Kan jeg få fat i min main-tråd igen? eller hvordan får mine TThread rettighed til at kalde Application.Terminate ?
Avatar billede kroning Nybegynder
21. juni 2006 - 20:17 #1
Det normale er vist at man gemmer sine tråde i nogle variabler således at man kan afslutte dem når man afslutter sin hoved program.
Avatar billede walker Nybegynder
22. juni 2006 - 11:00 #2
Ja, men problemet er at jeg ikke har fat i min hoved-thread mere... jeg har noget i retning af:
--------------------
TMainForm.FormCreate(Sender: TObject);
begin
  th1 := TTread1.Create; // opretter og starter traad 1
  th2 := TTread2.Create; // opretter og starter traad 2
end;

TTread2.Execute;
begin
  // kode kode kode
  Application.Terminate
end;
-----------------

Jeg ka ikke afslutte applikationen inde fra traaden, men hvor skal jeg saa smide Application.Terminate ?
Avatar billede kroning Nybegynder
22. juni 2006 - 12:06 #3
Har jeg ret i at det du vil er at afslutte programmet når dine tråde er færdige? Hvis det er tilfældet så kan du bruge OnTerminate, dvs. at du i OnTerminate checker om alle tråde er afsluttet og hvis det er tilfældet så kalder du Application.Terminate i din hoved tråd.
Avatar billede walker Nybegynder
23. juni 2006 - 09:16 #4
Jamen jeg takker da mange gange! ;)
Avatar billede walker Nybegynder
23. juni 2006 - 09:17 #5
hovsa, smid lige et svar, så jeg kan give dig pts...
Avatar billede kroning Nybegynder
23. juni 2006 - 09:48 #6
ok
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester