Töltse le a COM vezérlőt, amikor a VB6 IDE-ben dolgozik

Translate

A mindennapi munkám része a régi VB6 alkalmazások fenntartása és kiterjesztése. Közös motor van írva C / C ++ nyelven, és a VB6 ezeket a funkciókat használja a teljesítmény javítása érdekében.

Ha aszinkron programozásról van szó, akkor a C interfész nem elegendő, és a COM vezérlőire támaszkodunk az események VB6-ra történő elindításához.

A problémám az, hogy amikor regisztrálom a vezérlőt a VB6-ba, a VB betölti ezt a vezérlőt a memóriába, és addig nem tölti ki, amíg nem lépek ki a VB6 IDE-ből. Mivel a vezérlő egész idő alatt betöltődik, nem tudom újrafordítani a VC6-ba, mert a DLL fájl zárolva van.

Megtaláltam, hogy nem engedélyezem a vezérlést a VB-ben, hanem aCreateObject()az irányításom teljes nevével. A probléma tehát az, hogy objektumként kell deklarálnom a vezérlésemet, mert a VB6 semmit sem tud az általam használt interfészről, és nincs hozzáférésem az IntelliSense-hez, ami fájdalom.

Van ötlet, hogyan mondhatnám meg a VB6-nak, hogy az alkalmazás kilépése után vagy közvetlenül az IDE-ben töltse le a vezérlőket?

This question and all comments follow the "Attribution Required."

Minden válasz

Translate

Biztos vagyok benne, hogy nincs jó módszer arra, hogy a VB6-ot a vezérlés kirakására kényszerítsük.

A következőt csinálom ... A Visual C és a Visual Basic egymás melletti futtatása helyett futtassa a VB6-otalattVC:

  1. Töltse fel a VC-t
  2. Nyissa meg a COM objektumokat tartalmazó projektet
  3. Szerkesztés, változtatás stb.
  4. A VC-ben állítsa az Output Executable értéket VB6.EXE értékre a megfelelő parancssori argumentumokkal a VB6 munkaterület betöltéséhez
  5. Most nyomja meg az F5 billentyűt a VB6 IDE elindításához és a VB6 projekt betöltéséhez
  6. Amikor újra meg akarja változtatni a COM-kódot, lépjen ki a VB6.EXE fájlból, hajtsa végre a módosításokat, majd nyomja meg újra az F5 billentyűt. Amíg elmenti a munkaterületet, a VB6 emlékszik a megnyitott ablakokra és a projekt összes beállítására.

A módszer előnyei:

  • Töréspontokat állíthat be a COM objektumban, és hibakeresést végezhet a teljes forrás hibakeresővel
  • Boldogan debugálhat egyszerre a C és a VB-ben
  • Amikor a VB6 fut, mindig a COM DLL legfrissebb verziója van
Forrás