• 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

    • It is fundamentally impossible to secure delete files, especially on newer HDDs and all SSDs. You never know how the controller firmware is going to layout data or copy data around to optimize access or invoke wear leveling. The only way to securely “delete” something is to put it on an encrypted file system and forget the encryption key, assuming any apps you open the files in don’t copy the files to a local cache on the boot volumes.
    • TBF, it has had PST support for quite a while now. But I still want them to add the ability to drag & drop between accounts / PSTs.
    • LibreOffice closes in on Office, leaves Windows 7/8 behind in 25.8 Beta 1 by David Uzondu The Document Foundation has released LibreOffice 25.8 Beta 1 for public testing on Linux, macOS, and Windows. This is the second pre-release for the 25.8 cycle and the foundation says that the final, stable version of LibreOffice 25.8 is expected to land at the end of August 2025. Starting off with Writer, LibreOffice's Word, the developers have finally addressed some long-standing annoyances, including a new command to easily insert a paragraph break right before a table. This beta also introduces a useful privacy feature in its Auto-Redact tool, letting you strip all images from a document with a single option. To use it, go to Tools and select the Auto-Redact option: The application has improved its ability to handle different languages for punctuation, preventing mix-ups in multilingual documents. Other notable improvements have also been made. A new hyphenation rule lets you choose to prevent a word from splitting at the end of a page, moving the whole line to the next page instead. Microsoft Word has had this feature for years now. The Navigator now displays a handy tooltip with word and character counts for headings and their sub-outlines. Scrolling behavior when selecting text has been improved, making it less erratic. A new command with a keyboard shortcut was added for converting fields into plain text. Calc gets a lot of new functions that bring it closer to its competitors like Excel, including TEXTSPLIT, VSTACK, and WRAPROWS. Impress now properly supports embedded fonts in PPTX files, which should reduce headaches when sharing presentations with PowerPoint users. Alongside these additions, the project is also cleaning house; support for Windows 7, 8, and 8.1 has been completely dropped. There are also smaller UI tweaks across the suite, like allowing a single click to enter rotation mode for objects in Writer and Calc. macOS users get better integration, with proper support for native full screen mode and new window management features from the Sequoia update. In terms of performance, the team has optimized everything from loading huge DOC files and XLSX spreadsheets with tons of conditional formatting to simply switching between sheets in Calc. These improvements should be noticeable, especially when working with complex documents. A new application-wide "Viewer mode" has also been implemented, which opens all files in a read-only state for quick, safe viewing. On a related note, The Document Foundation has joined efforts by the likes of KDE to encourage Windows 10 users to switch to Linux. Also, you might have heard that Denmark, in a bid to lessen its reliance on Microsoft, has decided to make a full switch to LibreOffice, with plans to begin phasing out Office 365 in certain ministries as early as next month. If you're interested in this release, you can read the full release notes and download the binaries for your platform: Windows, macOS (Intel | Apple Silicon), or Linux (DEB | RPM). You can also get the latest stable version from our software stories page.
  • Recent Achievements

    • Explorer
      Case_f went up a rank
      Explorer
    • Conversation Starter
      Jamie Smith earned a badge
      Conversation Starter
    • First Post
      NeoToad777 earned a badge
      First Post
    • Week One Done
      JoeV earned a badge
      Week One Done
    • One Month Later
      VAT Services in UAE earned a badge
      One Month Later
  • Popular Contributors

    1. 1
      +primortal
      545
    2. 2
      ATLien_0
      227
    3. 3
      +FloatingFatMan
      160
    4. 4
      Michael Scrip
      113
    5. 5
      +Edouard
      104
  • Tell a friend

    Love Neowin? Tell a friend!