?
Solved

Restarting a form in VB6

Posted on 2012-12-24
10
Medium Priority
?
337 Views
Last Modified: 2012-12-27
I am trying to unload my form and start over.  Why doesn't the following code work?  It simply ends the program


Splash4.Show
            
            Unload CAPOrganizing
            
            Load CAPOrganizing
            
            Splash4.Hide

Open in new window

0
Comment
Question by:al4629740
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 2
  • 2
  • +2
10 Comments
 
LVL 70

Assisted Solution

by:Éric Moreau
Éric Moreau earned 500 total points
ID: 38718992
if Splash4 is your loading/first form, ending it also ends the program
0
 

Author Comment

by:al4629740
ID: 38719019
I don't understand what your saying exactly.  Can you explain that again?
0
 
LVL 70

Expert Comment

by:Éric Moreau
ID: 38719052
what is your starting form? which one is set in the project properties?
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 15

Assisted Solution

by:eemit
eemit earned 500 total points
ID: 38719253
You also need:
CAPOrganizing.Show
0
 

Author Comment

by:al4629740
ID: 38719325
my first form is a splash screen also called Splash1

Would it be instead

            Splash4.Show
           
            Unload CAPOrganizing
           
            CapOrganizing.Show
           
            Splash4.Hide
0
 
LVL 49

Expert Comment

by:Martin Liss
ID: 38719410
Why do you want to start over and what exactly do you mean by "start over". End the program and restart it, or something else?
0
 

Author Comment

by:al4629740
ID: 38719511
I would like to basically unload and load the form again....
0
 
LVL 28

Assisted Solution

by:Ark
Ark earned 1000 total points
ID: 38719566
Would it be instead
            Splash4.Show
            Unload CAPOrganizing
            CapOrganizing.Show
            Splash4.Hide
Exactly. The only addidion may be

CAPOrganizing.Hide 'In case unloading takes a wile - hide form if it's visible and show splash
Splash4.Show
Unload CAPOrganizing 'etc
But in most cases youdon't need reload form. If you have some code in Form_Load event - place it in some Public Sub, smth like this:
Private Sub Form_Load()
   InitForm
End Sub
Public Sub InitForm(probably_some_initial_value As Something)
   'Your initializing/updating/refreshing code here
End Sub

Open in new window

And instead of reloading form just call
CAPOrganizing.InitForm(conditions)
0
 

Author Comment

by:al4629740
ID: 38719658
How does initform work?

What do I put for conditions?
0
 
LVL 28

Accepted Solution

by:
Ark earned 1000 total points
ID: 38720563
Why do you need to reload form? In most cases you just need to execute code in Form_Load event. So you can move all this code into InitForm sub:
Was:
Private Sub Form_Load()
  'A lot of initializing code here
End Sub

Open in new window

Should be:
Private Sub Form_Load()
  Call InitForm(0) '0 means you call InitForm for the first time, from withing Form_Load Event 
End Sub
Public Sub InitForm(condition As Long)
  'A lot of initializing code here
End Sub
'Any time you need 'Reload' form
Call YourFormName.InitForm(1) 

Open in new window

Condition parameter is optional, just in case you need to tell InitForm Sub to execute or not some staff according to your needs, for example, during first call (condition=0) populate listbox/ComboBox with values and set .ListIndex=0, while for other calls leave populated controls as they are and set .ListIndex = some other value.
0

Featured Post

On Demand Webinar: Networking for the Cloud Era

Ready to improve network connectivity? Watch this webinar to learn how SD-WANs and a one-click instant connect tool can boost provisions, deployment, and management of your cloud connection.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I’ve seen a number of people looking for examples of how to access web services from VB6.  I’ve been using a test harness I built in VB6 (using many resources I found online) that I use for small projects to work out how to communicate with web serv…
Introduction In a recent article (http://www.experts-exchange.com/A_7811-A-Better-Concatenate-Function.html) for the Excel community, I showed an improved version of the Excel Concatenate() function.  While writing that article I realized that no o…
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…
Suggested Courses

777 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question