• 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

    • OpenAI asks employees to reject Meta's "ridiculous" poaching offers in stern memo by Usama Jawad OpenAI is the place to be right now, especially for prolific engineers who are willing to join CEO Sam Altman in the quest for Artificial General Intelligence (AGI). It seems that its rivals have recognized that OpenAI's biggest strength is its employees too, and there have been multiple reports that Meta is poaching its staffers. In fact, Altman himself mentioned recently that Meta is hiring his company's members by offering them up to $100 million in signing bonuses. The company obviously isn't pleased with this situation and has asked its staffers in an internal memo to reject any advances from Meta in the weeks to come. Wired (paywall) reports that OpenAI's Chief Research Officer Mark Chen has published a memorandum in the company's Slack, likening the poaching situation to someone breaking into OpenAI's home and stealing from them. Chen further stated that he will be working with senior leadership including Altman to figure out ways to reward employees with Meta offers in hand with financial compensation and even adjust their overall compensation figures. That said, the executive emphasized that his primary aim is to retain top talent. Chen also quoted messages from seven other senior members of OpenAI's research team with guidance about how to tackle the situation if Meta tries to hire them. One of the advice included asking Meta recruiters to back off if they try to pressurize them with "ridiculous" offers. It is important to note that OpenAI employees have reportedly been struggling with intensive 80-hour work-weeks recently and the company will largely experience a shutdown period next week so that its staffers can recharge. OpenAI believes that this period is also vulnerable for its members as Meta will likely ramp up its hiring efforts during this break. Chen reminded OpenAI employees that they should focus on their main quest, which is achieving AGI, and that confrontations with Meta during this difficult period are just side quests. It is unclear how responsive OpenAI staffers will be to the memo's instructions in the coming days, especially when stacking it up against the reported multi-million compensation offers from Meta. Zuckerberg is even reaching out to some OpenAI employees personally, with the most recent report indicating that Meta had hired four senior OpenAI researchers for its superintelligence lab.
    • Exactly. Use it is fine, but copyright is another story...
    • Not really, I am pretty hot at the moment and tomorrow I will be even hotter as the U.K are some hot days. Not looking forward to work. I just don't want to connect my computer to MS servers, I have no need to, the same with my Mac not being connected to Apple Servers. I have no need for MS or Apple accounts.
    • Really? Do you want it spelled out? Ok: It was a funsies way to say that we can confidently asume that their update servers were shut down years ago already, and no updates have been developed or delivered to any LG phone in years, since, to begin, LG wasn't too well known for their software support.
  • Recent Achievements

    • Community Regular
      Primey_ went up a rank
      Community Regular
    • Reacting Well
      Gromvar earned a badge
      Reacting Well
    • Dedicated
      BreakingBenjamin earned a badge
      Dedicated
    • Week One Done
      Hartej earned a badge
      Week One Done
    • One Year In
      TsunadeMama earned a badge
      One Year In
  • Popular Contributors

    1. 1
      +primortal
      515
    2. 2
      +FloatingFatMan
      184
    3. 3
      ATLien_0
      169
    4. 4
      Skyfrog
      96
    5. 5
      Som
      95
  • Tell a friend

    Love Neowin? Tell a friend!