Scaricare un controllo COM quando si lavora in VB6 IDE

voti
31

Parte del mio lavoro quotidiano è mantenere ed estendere le applicazioni legacy VB6. Un motore comune è scritto in C / C ++ e VB6 utilizza queste funzioni, al fine di migliorare le prestazioni.

Quando si tratta di programmazione asincrona, un'interfaccia C non è sufficiente e che si basano su COM controlli per generare gli eventi a VB6.

Il mio problema è che quando mi registro di controllo in VB6, VB carichi questo controllo nella memoria e non scarica fino a quando ho lasciato l'IDE VB6. Mentre il controllo viene caricato per tutto il tempo, non sono in grado di ricompilare in VC6, perché il file DLL è bloccato.

Una soluzione che ho trovato non è quello di consentire il controllo in VB, ma utilizzare il CreateObject()con il nome completo del mio controllo. Il problema allora è che devo dichiarare il mio controllo come un oggetto a causa VB6 non sa nulla dell'interfaccia sto usando e non hanno accesso a IntelliSense, che è un dolore.

Qualsiasi idea di come posso dire VB6 per scaricare i controlli dopo aver smesso l'applicazione o direttamente nell'IDE?

È pubblicato 02/08/2008 alle 12:52
fonte dall'utente
In altre lingue...                            


1 risposte

voti
27

Sono abbastanza sicuro che non c'è buon modo per forzare VB6 a scaricare il controllo.

Ecco quello che faccio ... invece di correre Visual C e VB6 side-by-side, eseguire Visual Basic in VC:

  1. Caricare VC
  2. Aprire il progetto che contiene gli oggetti COM
  3. Modifica, cambio, ecc
  4. In VC, impostare l'uscita eseguibile da VB6.EXE con opportuni argomenti della riga di comando per caricare il lavoro VB6
  5. Ora basta premere F5 per avviare l'IDE VB6 e caricare il progetto VB6
  6. Quando si desidera modificare il codice COM ancora una volta, l'uscita VB6.EXE, apportare le modifiche, e ha colpito di nuovo F5. Fino a quando si salva il lavoro VB6 si ricorderà quello finestre che avevate aperto e tutte le impostazioni del progetto.

I vantaggi di questo metodo:

  • È possibile impostare i punti di interruzione nell'oggetto COM ed eseguire il debug utilizzando un debugger sorgente completo
  • È felicemente possibile eseguire il debug in C e VB, allo stesso tempo
  • Ogni volta che è in esecuzione VB6 ha sempre l'ultima versione del COM DLL
Risposto il 20/08/2008 a 04:58
fonte dall'utente

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more