|
| Dræbe en tråd. Fra : Michael Vilhelmsen |
Dato : 09-01-06 10:52 |
|
Hej
Hvis jeg nu får startet en tråd, som af en eller anden årsag ikke stopper (f.eks. en uendelig løkke ), kan jeg slå den ihjel ?
--
Best Regards / Venlig hilsen
Michael Vilhelmsen
This is an automatic signature of MesNews.
Site : http://mesnews.no-ip.com
| |
Brian Andersen \(www~ (09-01-2006)
| Kommentar Fra : Brian Andersen \(www~ |
Dato : 09-01-06 12:20 |
|
Umiddelbart ville jeg prøve følgende:
Thread.Suspend;
Thread.Free;
Det vil dog være god kutyme at implementere din tråd, så den reagerer på
Thread.Terminated og afslutter eventuelle loop der måtte køre i
Thread.Execute metoden.
/Brian
| |
Michael Vilhelmsen (09-01-2006)
| Kommentar Fra : Michael Vilhelmsen |
Dato : 09-01-06 13:13 |
|
Brian Andersen ( www.europeansoftwarehouse.com) used his keyboard to write :
> Umiddelbart ville jeg prøve følgende:
>
> Thread.Suspend;
> Thread.Free;
>
> Det vil dog være god kutyme at implementere din tråd, så den reagerer på Thread.Terminated og afslutter eventuelle loop der måtte køre i Thread.Execute metoden.
Korrekt.
Men jeg har faktisk lavet en tråd, som kan åbne en query.
En sådan åbning kan i nogle tilfælde hos nogle kunder tage lang tid.
Hvis nu kunden har gjort det ved en fejl, ville det være rart, at kunne slå tråden ihjel.
Jeg ved godt, at database serveren i vores tilfælde vil fortsætte med sit arbejde, og først ved fuldførelse afbryde jobbet....
Michael
--
Best Regards / Venlig hilsen
Michael Vilhelmsen
==========
Best Regards / Venlig hilsen
Michael Vilhelmsen
| |
Brian Andersen \(www~ (09-01-2006)
| Kommentar Fra : Brian Andersen \(www~ |
Dato : 09-01-06 13:24 |
|
Ahhh, ok. Ser problemet...
Er det BDE'ens TQuery component du bruger? Hvis ja så har du mulighed for at
implementere en CallBack method'e. Jeg mener, at man har mulighed for at
afbryde en eventuel forespørgsel via denne CallBack. Samtidig, har man også
mulighed for at opdatere eventuelle skærmbilleder med en status indikator
for hvornår Query'en er færdig, osv.
Jeg kan ikke lige på stående fod fortælle dig hvordan du skal implementere
CallBack funktionen. Men kig i hjælpen efter TBDECallback. Du kan eventuel
også se hvordan den implementeres i DBTables.pas.
Hvis det er en aden database, så burde den også give dig mulighed for at
implementere en eller anden form for CallBack funktionalitet. Det plejer
nemlig også at være god kutyme *s*...
/Brian
| |
Michael Vilhelmsen (09-01-2006)
| Kommentar Fra : Michael Vilhelmsen |
Dato : 09-01-06 13:42 |
|
Brian Andersen ( www.europeansoftwarehouse.com) explained :
> Ahhh, ok. Ser problemet...
>
> Er det BDE'ens TQuery component du bruger? Hvis ja så har du mulighed for at implementere en CallBack method'e. Jeg mener, at man har mulighed for at afbryde en eventuel forespørgsel via denne
> CallBack. Samtidig, har man også mulighed for at opdatere eventuelle skærmbilleder med en status indikator for hvornår Query'en er færdig, osv.
>
> Jeg kan ikke lige på stående fod fortælle dig hvordan du skal implementere CallBack funktionen. Men kig i hjælpen efter TBDECallback. Du kan eventuel også se hvordan den implementeres i
> DBTables.pas.
>
> Hvis det er en aden database, så burde den også give dig mulighed for at implementere en eller anden form for CallBack funktionalitet. Det plejer nemlig også at være god kutyme *s*...
>
> /Brian
Det er ikke BDE.
Jeg bruger en af to ting.
Enten InterbaseExpress (IBX) eller IBObjects (IBO).
Jeg kører op imod en firebird.
Firebird supportere desværre endnu ikke cancel af query.
Eller opdatering af skærmbilleder mm.
Michael
--
Best Regards / Venlig hilsen
Michael Vilhelmsen
==========
Best Regards / Venlig hilsen
Michael Vilhelmsen
| |
Brian Andersen \(www~ (09-01-2006)
| Kommentar Fra : Brian Andersen \(www~ |
Dato : 09-01-06 14:37 |
|
Ok. Jeg håber du finder en løsning...
/Brian
| |
Hans (09-01-2006)
| Kommentar Fra : Hans |
Dato : 09-01-06 14:41 |
|
"Michael Vilhelmsen"
<Michael.Vilhelmsen.PLEASEREMOVE@Microcom.PLEASEREMOVE.Dk> skrev i en
meddelelse news:mn.4a8b7d61e9ba9f98.11460@Microcom.PLEASEREMOVE.Dk...
> Hej
>
> Hvis jeg nu får startet en tråd, som af en eller anden årsag ikke stopper
> (f.eks. en uendelig løkke ), kan jeg slå den ihjel ?
Prøv at kikke på TerminateThread i Win32 PR.
/HK
| |
Brian Andersen \(www~ (14-01-2006)
| Kommentar Fra : Brian Andersen \(www~ |
Dato : 14-01-06 12:43 |
|
Hej Michael,
har du afprøvet nogle af vores forslag? I såfald, hvad var resultatet?
/Brian
| |
Michael Vilhelmsen (16-01-2006)
| Kommentar Fra : Michael Vilhelmsen |
Dato : 16-01-06 09:16 |
|
Brian Andersen ( www.europeansoftwarehouse.com) laid this down on his screen :
> Hej Michael,
>
> har du afprøvet nogle af vores forslag? I såfald, hvad var resultatet?
>
> /Brian
Kun ganske kort.
Når min tråd er igang med at åbne en query, er det ikke til at komme i kontakt med den.
Men jeg skal have kigget mere på det.
Dog tror jeg, at jeg er nød til, på en eller anden måde manuelt at slå hele tråden ihjel.
Men som sagt - jeg har ikke fundet tiden endnu....
Michael
--
Best Regards / Venlig hilsen
Michael Vilhelmsen
==========
Best Regards / Venlig hilsen
Michael Vilhelmsen
| |
Hans (16-01-2006)
| Kommentar Fra : Hans |
Dato : 16-01-06 09:26 |
|
"Michael Vilhelmsen"
<Michael.Vilhelmsen.PLEASEREMOVE@Microcom.PLEASEREMOVE.Dk> skrev i en
meddelelse news:mn.822c7d615c0d0faa.11460@Microcom.PLEASEREMOVE.Dk...
> Brian Andersen ( www.europeansoftwarehouse.com) laid this down on his
> screen :
>> Hej Michael,
>>
>> har du afprøvet nogle af vores forslag? I såfald, hvad var resultatet?
>>
>> /Brian
>
> Kun ganske kort.
>
> Når min tråd er igang med at åbne en query, er det ikke til at komme i
> kontakt med den.
> Men jeg skal have kigget mere på det.
>
> Dog tror jeg, at jeg er nød til, på en eller anden måde manuelt at slå
> hele tråden ihjel.
> Men som sagt - jeg har ikke fundet tiden endnu....
Når du finder den så prøv TerminateThread, det burde virke.
/HK
| |
|
|