/ Forside / Teknologi / Udvikling / VB/Basic / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
VB/Basic
#NavnPoint
berpox 2425
pete 1435
CADmageren 1251
gibson 1230
Phylock 887
gandalf 836
AntonV 790
strarup 750
Benjamin... 700
10  tom.kise 610
Programmet lukker ikke helt ?
Fra : Danlamp Teknik


Dato : 12-09-02 08:31

Hejsa
Jeg har lavet et program det køre som det skal, men når jeg har afsluttet
programmet, og trykker på Ctrl+Alt+Del, kan jeg se at programmet stadigvæk
køre, jeg kan ikke se nogle steder i min kode at jeg har åbnet noget som jeg
ikke også har lukket med "Unload Me".

Hvis jeg køre koden fra VB6, og afslutter programmet, skal jeg også op og
trykke på "firkanten" for at programmet stopper helt.

Er der et eller andet sted, hvor jeg kan se hvad jeg har glemt at lukke ?


Henrik



 
 
Spanni (12-09-2002)
Kommentar
Fra : Spanni


Dato : 12-09-02 11:46

> Jeg har lavet et program det køre som det skal, men når jeg har afsluttet
> programmet, og trykker på Ctrl+Alt+Del, kan jeg se at programmet stadigvæk
> køre, jeg kan ikke se nogle steder i min kode at jeg har åbnet noget som
jeg
> ikke også har lukket med "Unload Me".

Brug kommandoen "end" til at lukke programmet helt, Unload Me bruges kun til
at lukke den aktuelle form.



Jens Vestergaard (12-09-2002)
Kommentar
Fra : Jens Vestergaard


Dato : 12-09-02 12:04

"Spanni" <user@fuck.apg> skrev i en meddelelse
news:alpr90$1b5k$1@news.cybercity.dk...
>
> Brug kommandoen "end" til at lukke programmet helt, Unload Me bruges kun
til
> at lukke den aktuelle form.

Cirka hver 3-4 måned er der nogen, der skriver End her i gruppen...
Og med samme interval er vi nogle stykker, der råber Nej...

'End' er usundt - selv MS skriver det. Sagen er, at 'End' helt kritikløst
lukker hele programmet ned uden hensyntagen til åbne filer, databaser m.v..

Det 'rigtigste' er noge i stil med:

Dim f as Form
For Each f In Forms
Unload f
Next

Det giver nemlig mulighed for at lægge kode i de forskellige forms' Unload
og QueryUnload events til diverse nedlukning og oprydning. Disse to events
bliver *ikke* kaldt, hvis man bruger End.


--
mvh
Jens Vestergaard
www.railsoft.dk
--------
Indsæt v før snablen



Spanni (13-09-2002)
Kommentar
Fra : Spanni


Dato : 13-09-02 09:31

Okay tak. det vidste jeg ikke



Danlamp Teknik (12-09-2002)
Kommentar
Fra : Danlamp Teknik


Dato : 12-09-02 12:17

TAK



Tomas Christiansen (12-09-2002)
Kommentar
Fra : Tomas Christiansen


Dato : 12-09-02 20:24

Spanni slrev:
> Brug kommandoen "end" til at lukke programmet helt, Unload Me bruges
kun til
> at lukke den aktuelle form.

End i VB svarer til at stoppe en bils motor ved (når bilen står
stille) at sætte den i 5. gear og slippe koblingen hurtigt.

Der er ingen tvivl om at motoren stopper, og man kan sikkert gøre det
en masse gange uden at det giver problemer, men der er heller ingen
tvivl om at det ikke er den rigtige måde at stoppe motoren på, og der
er stor risiko for at metoden på ét eller andet tidspunkt vil give
bagslag (have en skadelig virkning).

Unload alle forms og sikr at der ikke er løkker som vil fortsætte med
at køre (f.eks. noget i stil med Do: DoEvents: Loop Until
et_eller_andet). Så lukker VB pænt ned. Bemærk at hvis man i
unload/destroy-events refererer til kontroller på en form, kan dette
resultere i at formen bliver loadet (men ikke vist) påny, hvorved
VB-programmet ikke bliver afsluttet, men fortsat "hænger" i
hukommelsen uden at bruge CPU-tid.

-------
Tomas


Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408522
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste