Note that there are some explanatory texts on larger screens.

plurals
  1. POWhat is the Best Practice for converting a vb6 standard exe to a activex exe?
    primarykey
    data
    text
    <p>i have a legacy massive vb6 editor with plenty of 3rd party libraries and controls and recently there is a need to set it up to make it multi thread so i can run a few other forms independently from the main editor form. Basically there's minimum communication between these other forms and the main editor except for running the other forms on a click of a button from the main page.</p> <p>So from a lot of googling i found a method which converts the current app into a multi threading one by setting it up as an activex exe and adding a class set to global-multi-use to allow this to happen. Now while doing editing and testing via debugging mode, i found that when i exit a lot of weird crash will happen sometimes.</p> <pre><code>'main.frm - button click call 'On the button click, create a new object Set obj = CreateObject("MyApp.clsThread") Call obj.NewThread 'clsThread ' Create a new form and load it to run on a new thread Public Sub NewThread() Dim frm As Object Set frm = New frmDogbert Load frmDogbert frm.show Set frm = Nothing End Sub </code></pre> <p>So what do i absolutely must know when i do this,i.e. potential problems,etc?, as i'm fearing that the app seems to be getting more unstable. Or is there a better way to do this? </p> <h2>Updates:</h2> <p>Instead of forcefully hacking my app into a pseudo multithreading app, i've taken the advice from the good people here and refactor out the component into standard exe and reverted back my app to a standard exe and call them via shell. Works beautifully :)</p> <p>Thanks </p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload