• 0

[VB6] Exit Application


Question

Hi,

I have written a VB6 application, and want to exit it if a certain condition happens. All my code gets called from the Form_load event and the form it self is never shown. I tryed using "unload me" or "unload form1" but that didnt work.

So what command would I use in VB6 to close the application?

thx in advance!

Link to comment
https://www.neowin.net/forum/topic/338146-vb6-exit-application/
Share on other sites

10 answers to this question

Recommended Posts

  • 0

Actually a Form Unload or "End" command during the Load event can cause problems and/or simply not work so...

declare a module level variable

Private mbUnload as Boolean

Sub Form_Load

If Conditions_Met Then

mbUnload = True

End if

End Sub

Sub Form_Activate

If mbUnload = True Then

Unload Me

End If

End Sub

  • 0

sweet, it worked when I put the unload me in the Form_Load. Why doesnt it work when I put it in a different sub though?

I was reading something about End before, but it sounded kinda negative and that it shouldnt be used... ?

I actually solved my problem too by using a module instead of a form and by using the exit sub command in the last sub that gets called.

still thx guys:yes:!

  • 0

<sigh> I just know I am going to regret posting this but...

"End" is the proper way to completely stop an application becuase, often, application are more than just Forms, and often do not include Forms at all. Simply doing an Unload on all Forms will not nessasarily destroy all objects (classes, references, etc).

Although Unload is not bad, it is not complete.

(please take this message as it was intended, to inform, not inflame)

Sincerely,

James Rose

New York City

  • 0
  jameswjrose said:
Simply doing an Unload on all Forms will not nessasarily destroy all objects (classes, references, etc).

586138573[/snapback]

Err, why would you regret posting it? I'm just curious--to the best of my understanding, if you unload all the forms, won't the application be closed anyway by the system? I understand that a VB app is often more than just forms. But, according to MSDN, in the documentation for the End statement:

  Quote
For normal termination of a Visual Basic program, you should unload all forms. Your program closes as soon as there are no other programs holding references to objects created from your public class modules and no code executing.

The other resources (classes, references, file handles, etc) should be reclaimed by the OS once your application terminates, right?

  • 0

See, that's the thing, the Garbage collector in VB6 runs when a function/procedure ends (as opposed to .Net which runs at rather random intervals, or you can call it specifically, but this is another issue)

Say you had an app with one Form and one Class. Say the class is created when you load the form. The class SHOULD be destroyed when you unload the form. However this is not always the case. The End command makes sure ALL references are destroyed. The reason for this importance is that if your app is started again, is is possible (however unlikely) that the previous values from the original class will still be in memory.

In fact, we had a VERY similar situation about class destruction in our app just this month. (I have NO idea how the values were not being cleared but....)

End will guarentee that all memory will be cleared.

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • Amazon Deal: JBL BAR 1000 7.1.4, BAR 700 5.1 Dolby Atmos wireless subwoofer soundbars by Sayan Sen If you are in the market for an audio system and are after smaller bookshelf speakers delivering highly accurate sound, then take a look at KEF and Polk Audio's Q Concerto Meta and Reserve R200 speakers, respectively, as both of them are up for sale at their lowest ever prices. However, if you are more into shaking your house, which is not possible without a subwoofer, then Samsung has its Q900F, Q800F, and Q600F soundbar systems with wireless subwoofers at the lowest prices. These are the latest 2025 models, and you can take a look at them in this article here. JBL BAR 1000 For those looking for additional options, JBL's BAR 1000 and Bar 700 are also available. The former has hit its lowest ever price too, while the latter is back to its cheapest (purchase links down below). JBL claims that its BAR 1000 model goes as low as 33Hz which is crucial for movie-watching or even some genres of music. The 10-inch subwoofer is rated at 300 watts of RMS power. The total power output of the system is 880 watts at THD (total harmonic distortion) of 1%. JBL BAR 1000 rear view Unlike the 7.1.4 JBL BAR 1000, the BAR 700 is a 5.1 system which means it lacks true Dolby Atmos, but it should still provide an Atmos-like experience. DTS:X is also not supported. The BAR 700 is rated at 620 watts. It is good to see some power ratings, as companies like Samsung, Sonos, Bose, and more tend not to mention them all too often nowadays. Interestingly, both the BAR systems have similarly-specced subwoofers so if bass is what you are looking for and do not care about the Atmos experience so much, you can opt for the BAR 700 too. Get them at the links below: JBL Bar 1000: 7.1.4-Channel soundbar with Detachable Surround Speakers, MultiBeam™, True Dolby Atmos®, and DTS:X®, Black: $799.95 (Shipped and Sold by Amazon US) JBL Bar 700: 5.1-Channel soundbar with Detachable Surround Speakers and Dolby Atmos®, Black: $549.95 (Amazon US) + you also get free 90-day Amazon Music This Amazon deal is US-specific and not available in other regions unless specified. If you don't like it or want to look at more options, check out the Amazon US deals page here. Get Prime (SNAP), Prime Video, Audible Plus or Kindle / Music Unlimited. Free for 30 days. As an Amazon Associate, we earn from qualifying purchases.
    • Funny how just a few days ago we hear a lot of rumors that this device was cancelled.
    • Many order mixed mango yogurt.  
    • It's about the same actually. The oldest iPhone to support iOS 26 will likely be the iPhone 12, which was released in late 2020, so very similar. The current OS runs on the iPhone 11, 2019. Still, valid point, you expect to be able to use a computer for longer than a phone.
  • Recent Achievements

    • Dedicated
      Epaminombas earned a badge
      Dedicated
    • Veteran
      Yonah went up a rank
      Veteran
    • First Post
      viraltui earned a badge
      First Post
    • Reacting Well
      viraltui earned a badge
      Reacting Well
    • Week One Done
      LunaFerret earned a badge
      Week One Done
  • Popular Contributors

    1. 1
      +primortal
      482
    2. 2
      +FloatingFatMan
      264
    3. 3
      snowy owl
      233
    4. 4
      ATLien_0
      231
    5. 5
      Edouard
      176
  • Tell a friend

    Love Neowin? Tell a friend!