Ga naar inhoud

VB6: totale programma sluiten met X van een form


anoniem

Aanbevolen berichten

Hoi, In VB6 kun je forms verstoppen met .hide maar dit levert een probleem op. Je kunt een form namelijk af laten sluiten met een knop: afsluiten waarbij je dan END als commando onder de knop stopt, als je dat doet sluit het hele programma af. Als de gebruiker echter op het kruisje in de rechterbovenhoek klikt dan wordt alleen dat formulier gesloten en blijven de formulier die met .hide verstopt zijn open, maar de gebruiker ziet dit niet. Weet iemand hoe ik het complete programma kan laten afsluiten als de gebruiker op het kruisje in de rechterbovenhoek klikt?
Link naar reactie
[quote:004b994720="pc_freak17"]Hoi, In VB6 kun je forms verstoppen met .hide maar dit levert een probleem op. Je kunt een form namelijk af laten sluiten met een knop: afsluiten waarbij je dan END als commando onder de knop stopt, als je dat doet sluit het hele programma af. Als de gebruiker echter op het kruisje in de rechterbovenhoek klikt dan wordt alleen dat formulier gesloten en blijven de formulier die met .hide verstopt zijn open, maar de gebruiker ziet dit niet. Weet iemand hoe ik het complete programma kan laten afsluiten als de gebruiker op het kruisje in de rechterbovenhoek klikt?[/quote:004b994720] Door het codevenster van je formulier te openen. Daar selecteer je "Form" in de linker dropdown, en "QueryUnload" in de rechter. Er wordt een procedure "Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)" gemaakt. Daar zet je je End statement in. [code:1:004b994720] Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) End End Sub [/code:1:004b994720] Let er wel op dat je programma in 1x sluit, zonder ook maar iets op te slaan!
Link naar reactie
  • 2 weken later...
Zoals meneer_ed al aangaf, het End statement is een beetje een botte bijl. Netter is een unload van al je (mogelijk verborgen) forms. [code:1:8c876c9701]if yes then call unload(frm1) ... call unload(frmN) endif [/code:1:8c876c9701]Je kunt je applicatie ook in de vorm van een Multiple Document Interface (MDI) gieten, dan gaat alles 'vanzelf' dicht als je op het kruisje van het hoofdvenster klikt.
Link naar reactie
[quote:8090c4cccd="biomass"]Zoals meneer_ed al aangaf, het End statement is een beetje een botte bijl. Netter is een unload van al je (mogelijk verborgen) forms.[/quote:8090c4cccd]Is inderdaad beter.. [code:1:8090c4cccd] Dim myForm As Form For Each myForm In Forms Unload myForm Set myForm = Nothing Next myForm [/code:1:8090c4cccd]
Link naar reactie
[quote:387e03a685="h4xX0r"][quote:387e03a685="biomass"]Zoals meneer_ed al aangaf, het End statement is een beetje een botte bijl. Netter is een unload van al je (mogelijk verborgen) forms.[/quote:387e03a685]Is inderdaad beter.. [code:1:387e03a685] Dim myForm As Form For Each myForm In Forms Unload myForm Set myForm = Nothing Next myForm [/code:1:387e03a685][/quote:387e03a685] Heb zelf niet aan de Forms collectie gedacht omdat TS aangeeft een applicatie te hebben bestaande uit losse forms. Die kunnen van elkaar afhankelijk zijn. Met een expliciete unload van forms ben je zeker van de volgorde waarin de boel 'plat' gaat.
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...