Avatar billede herbert Nybegynder
03. juli 1999 - 20:34 Der er 14 kommentarer og
1 løsning

hvordan lukker jeg mit program helt??

Jeg har et program der består af flere forms og en ActiveX control,
når jeg lukker mit program på X(luk) knappen oppe til højre, så kører programmet stadigvæk når jeg trykker Ctrl-Alt-Del! Hvordan lukker jeg programmet helt??
Avatar billede bkp Nybegynder
03. juli 1999 - 22:03 #1
Kommandoen END lukker programmet helt, du kan f.eks. i formens Unload event skrive END, så lukkes programmet helt ned når formen lukkes:

Private Sub Form_Unload(Cancel As Integer)
    End
End Sub
Avatar billede joern Nybegynder
04. juli 1999 - 01:55 #2
Hej Herbert.

Jeg indleder mine programmer med:  If app.PrevInstance Then...
Så kan man skrive hvad der skal ske, hvis programmet kører usynligt i baggrunden.  Men det er selvfølgeligt rigtigt nok med "END".
I øvrigt kan du tilføje kode, også hvis nogen lukker dit program på "lukke-krydset".  Under form_Unload kan eller Form_Terminate kan du lade udføre spørgsmål til brugeren f.eks.

Jeg synes også der bør være en knap eller et menupunkt til at lukke med.

M.v.h.  Jørn .
Avatar billede 127144146281 Nybegynder
06. juli 1999 - 01:53 #3
Naa det er ikke altid helt nok bare at bruge End, prøv mednoget ala;

'///////Close the Program//////////////////
Dim i As Integer                        '//
For i = Forms.Count - 1 To 1 Step -1    '//
Unload Forms(i)                        '//
Next                                    '//
Set frmMain = Nothing                  '//
End                                    '//
'//////////////////////////////////////////
Avatar billede herbert Nybegynder
08. juli 1999 - 22:01 #4
Jeg har prøvet at sætte END ind under Form_terminate og Form_unload, men det kode jeg sætter ind under form_terminate haR ingen virkning på mit program! Jeg prøver 127144...'s forslag.
Avatar billede 127144146281 Nybegynder
08. juli 1999 - 22:08 #5
smid koden her:

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)

'///////Close the Program//////////////////
Dim i As Integer                        '//
For i = Forms.Count - 1 To 1 Step -1    '//
Unload Forms(i)                        '//
Next                                    '//
Set frmMain = Nothing                  '//
End                                    '//
'//////////////////////////////////////////

End Sub
Avatar billede 127144146281 Nybegynder
08. juli 1999 - 22:10 #6
husk at ændre frmMain til det din "hoved" form hedder
Avatar billede 127144146281 Nybegynder
08. juli 1999 - 22:13 #7
Herbert hvis det stadig ikke virker kan du sende det til VisualB@michael-jensen.dk og jeg fikse det for dig
Avatar billede mjoe Nybegynder
15. juli 1999 - 18:23 #8
husk også at sætte alle objekter = nothing
Avatar billede zelebris Nybegynder
18. juli 1999 - 18:36 #9
Jeg er desværre ikke enig!!! END er commanden for at lukke app.exe'en og hvis man kun køre med en executeble er denne command nok!!!
Avatar billede 127144146281 Nybegynder
18. juli 1999 - 19:45 #10
Ikke altid, hvis man bruger den når man subclasser nogle bestemte ting, så kan man godt nok bruge END kommandoen men programmet vil bare ikke lukke, eller det vil crashe så det er ikke altid.

Jeg ved godt det er officielt at man skal bruge END, men det er bare ikke altid den virker som det skal.

Der er blandt andet en VB Programør: (http://www.vbaccelerator.com/)

Der laver rigtigt advancerede programmer (subclass, ovs) som næsten er umuligt at lave i VB og andre programmerings sprog og han bruger NETOP ikke END kommandoen, men Unload Me, som sikrer at et program bliver helt lukket, for det sker tit der når man bruger END, så bliver det usynligt (visible = False), det står ikke i programoversigten (ALT + TAB) men det kører stadigt kan man se i WinNT's Jobliste, men jeg gidder slet ikke diskutere det, hvis du kan lukke dit program HELT med END komandoen så Fint, men jeg bruger nu stadig Unload Me, da det er den eneste måde at lukke mine programmer på, da jeg tit subclasser forskelige ting som Commondialogs, Controls. Det er det sidste jeg har tænkt mig at skrive i dette spørgsmål.
Avatar billede 127144146281 Nybegynder
18. juli 1999 - 19:49 #11
ok så en enkelt til da:

>>zelebris prøv lige at læse hans spørgsmål igen, han har flere forms, en ActiveX kontrol,
Avatar billede zelebris Nybegynder
18. juli 1999 - 19:54 #12
Det er helt rigtigt at man også kan bruge unload me... men lad os blive ved med at diskutere!!! *NOT*, jeg bruger også unload me men jeg foretrække altså stadig END!!!
Sidste svar i denne omgang!!
Avatar billede zelebris Nybegynder
16. juli 1999 - 18:26 #13
End command'en burde være nok hvis den bliver kørt sådda:
Private Sub form_unload(Cancel as Integer)
End
End Sub
Avatar billede 127144146281 Nybegynder
16. juli 1999 - 19:43 #14
nope ikke altid, ellers er det ikke særlige advancverede programmer du laver.

Det er hvertfal ikke nok når man sublasser forskillige ting (menuer, komponenter) for så crasher progremmet hvis man ike lukker den ordentligt og der er End bare ikke nok
Avatar billede herbert Nybegynder
24. september 1999 - 10:50 #15
hehe
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