/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
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



Søg
Reklame
Statistik
Spørgsmål : 177434
Tips : 31962
Nyheder : 719565
Indlæg : 6407975
Brugere : 218879

Månedens bedste
Årets bedste
Sidste års bedste