Delphi / Thread

Programovacie jazyky, rady, poradňa...
franta86
Light Expert
Light Expert
Príspevky: 42
Registrovaný: 11 aug 2009, 12:13

Delphi / Thread

Príspevok od používateľa franta86 »

mam globalnu premennu "vlakno" typu Tvlakno (type Tvlakno = TThread ...)
ako zistim ci bol vytvoreny/zruseny object "vlakno"?
pod vytvorenim myslim:
vlakno:=Tvlakno.create(true);
vlakno.FreeOnTerminate:=True;
...


ak dam vlakno.FreeOnTerminate:=False;
a nahodou ak skonci execute chcem vlakno.suspend vyhodi mi chybu 'Thread Error: pristup je odmietnuty(5)'

//autoeditácia príspevku (09 Apr 2010, 15:54)
vyriesene:
Try
vlakno.suspend;
Except
//tu by malo byt osetrenie vinimky - ja kedze chcem aby sa nic nevykonalo len pokracovalo dalej nic som sem nedal
End;
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Delphi / Thread

Príspevok od používateľa audiotrack »

výnimky sú drahé čo sa týka časovej réžie, možno by stačila podmienka if vlako <> nil then ...
franta86
Light Expert
Light Expert
Príspevky: 42
Registrovaný: 11 aug 2009, 12:13

Re: Delphi / Thread

Príspevok od používateľa franta86 »

s tym nil :
ak mam freeonterminated=true vypise EThread:'Thread Error Popisovac nie je platny(6)'
ak mam freeonterminate =false vypise EThread:'Thread Error pristup odmietnuty(5)'

len mam taky mali problem ze to tlacitko nereaguje pri sucasnom spusteni 9 vlakien okamzite ale po nejakej dobe.
tato doba je umerna poctu vlakien spustenych sucastne
Napísať odpoveď