Avatar billede penta Nybegynder
17. oktober 2003 - 16:02 Der er 7 kommentarer og
1 løsning

Min applikation viser "Not running" i windows task manager ?

Jeg vil bare høre om flg. kan være rigtigt:

Jeg åbner Windows Task Manager - starter delphi og starter mit program - det skal siges, at mit program foretager en masse beregninger - nå men jeg holder øje med windows task manager under programafviklingen og bemærker, at der ud for mit program pludselig står "Not Running" efter et stykke tid - står der lige pludselig "Running" igen. Hvad er det der sker? Hvorfor stopper programmet lige pludselig og kører videre igen? Er det normalt eller gør jeg noget galt i mit program?
Avatar billede razersedge Nybegynder
17. oktober 2003 - 16:46 #1
Det er på grund af den tid dit program bruger på de beregninger, imens den kører i en sådan løkke/eller andet, kan den ikke svare på beskeder fra windows, og derfor ser det ud til at den ikke kører. Dette betyder også at programmet ikke kan svare på tastetryk/museklik/e.l. da disse også er beskeder fra windows.

For at fixe dette kan du bruge Application.ProcessMessages et sted i din løkke, hver gang dit program kommer til denne funktion, vil den håndtere indkomne beskeder, og derefter fortsætte beregningerne.
Avatar billede penta Nybegynder
17. oktober 2003 - 17:13 #2
Det kalder jeg et svar. Jeg siger mange tak for hjælpen :)
Avatar billede razersedge Nybegynder
17. oktober 2003 - 17:41 #3
Det var da så lidt, en anden mulighed kunne være at lave en tråd, men det lyder til at være overkill i dette tilfælde :)
Avatar billede borrisholt Novice
17. oktober 2003 - 19:07 #4
overkill  ? Mon dog ... Programmer skal være smidige altid, også under store beregninger. Derfor læg det hele over i en tråd.

Jens B
Avatar billede razersedge Nybegynder
17. oktober 2003 - 19:18 #5
Well, hvis programmets eneste funktion er denne beregning, mener jeg ikke det er nødvendigt. Skal det være noget der kører i baggrunden i et større program, vil jeg også mene tråde er en bedre løsning. ProcessMessages er dog den simpleste løsning.
Avatar billede penta Nybegynder
18. oktober 2003 - 01:07 #6
Jeg ved heller ikke om en tråd ville være en bedre løsning, men jeg er ikke lige så skrap til tråde endnu. Det fungerer ret godt med Application.ProcessMessages... burde det så ikke kunne gøre det?
Avatar billede razersedge Nybegynder
18. oktober 2003 - 01:18 #7
Kommer vel an på hvad dit program skal kunne, hvis det ikke skal andet imens beregningerne udføres, er ProcessMessages efter min mening fin nok.
Avatar billede penta Nybegynder
18. oktober 2003 - 02:48 #8
jamen det skal ikke andet, så det er godt nok. Tak for hjælpen endnu en gang :=)
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