Unload un control COM atunci când se lucrează în VB6 IDE

voturi
31

O parte din munca mea de zi cu zi este menținerea și extinderea aplicațiilor moștenirea VB6. Un motor comun este scris în C / C ++ și VB6 utilizează aceste funcții, în scopul de a îmbunătăți performanța.

Când vine vorba de programare asincronă, o interfață C nu este de ajuns și ne bazăm pe COM controale la foc evenimente la VB6.

Problema mea este că atunci când am înregistra controlul în VB6, VB sarcini acest control în memorie și nu-l descarce până când am renuntat IDE VB6. Deoarece controlul este încărcat tot timpul, eu sunt în măsură să-l recompilați în VC6, deoarece fișierul DLL este blocat.

O soluție am găsit este de a nu permite controlul în VB dar utilizați CreateObject()cu numele complet de sub control. Problema , atunci este că trebuie să declar controlul meu ca un obiect , deoarece VB6 nu știe nimic despre interfața I sînt folosire și nu au acces la IntelliSense, care este o durere.

Orice idee cum pot spune VB6 pentru a descărca controale după renunti la aplicarea sau direct în IDE?

Întrebat 02/08/2008 la 12:52
sursa de către utilizator
În alte limbi...                            


1 răspunsuri

voturi
27

Sunt destul de sigur că nu există nici o modalitate buna de a forța VB6 să descarce controlul.

Iată ce fac eu ... în loc de a rula Visual C și Visual VB6 side-by - side, executați de bază sub VC:

  1. Încărcați până VC
  2. Deschideți proiectul care conține obiectele COM
  3. Editare, schimbare etc.
  4. În VC, setați de ieșire să fie executabilă VB6.EXE cu argumente în linia de comandă corespunzătoare pentru a încărca spațiul de lucru VB6
  5. Acum, a lovit doar F5 pentru a lansa IDE VB6 și încărcați proiectul VB6
  6. Când doriți să modificați codul COM din nou, de ieșire VB6.EXE, efectuați modificări, și a lovit din nou F5. Atâta timp cât salvați VB6 spațiul de lucru va aminti ce ferestrele ați avut deschise și toate setările proiectului.

Avantajele acestei metode:

  • Puteți seta puncte de întrerupere în obiectul COM și depana-l folosind un debugger sursă complet
  • Puteți depana fericit în C și VB, în același timp,
  • Ori de câte ori VB6 rulează dispozitivul are întotdeauna cea mai recentă versiune a COM DLLs
Publicat 20/08/2008 la 04:58
sursa de către utilizator

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