Wyładowanie kontrolę COM podczas pracy w VB6 IDE

głosy
31

Część mojej codziennej pracy jest utrzymanie i rozszerzenie dotychczasowych aplikacji VB6. Częstym silnik jest napisany w języku C / C ++ i VB6 używa tych funkcji w celu poprawy wydajności.

Jeśli chodzi o programowaniu asynchronicznym interfejsem C nie wystarczy i możemy liczyć na COM kontroluje ogień zdarzenia do VB6.

Moim problemem jest to, że kiedy zarejestrować kontroli w VB6, VB ładunki ta kontrola w pamięci i nie rozładować go aż rzuciłem IDE VB6. Ponieważ kontrola jest ładowany przez cały czas, nie jestem w stanie skompilować go w VC6, ponieważ plik DLL jest zablokowana.

Rozwiązanie to nie znalazłem, aby umożliwić kontrolę w VB ale używać CreateObject()z pełną nazwą moją kontrolą. Problemem jest to, że wtedy muszę zadeklarować moją kontrolę jako obiektu, ponieważ VB6 wie nic interfejsu używam i nie mam dostępu do IntelliSense, który jest ból.

Jakiś pomysł jak mogę powiedzieć VB6 rozładować kontrole po wyjściu z aplikacji lub bezpośrednio w IDE?

Utwórz 02/08/2008 o 12:52
źródło użytkownik
W innych językach...                            


1 odpowiedzi

głosy
27

Jestem prawie pewien, że nie ma dobry sposób, aby wymusić VB6 rozładować kontroli.

Oto, co robię ... zamiast uruchomiony Visual C i Visual Basic side-by-side, uruchom VB6 pod VC:

  1. Załadować do VC
  2. Otwórz projekt zawierający swoich obiektów COM
  3. Edycja, zmiana, itp
  4. W VC, ustaw wyjście wykonywalny do bycia VB6.EXE z odpowiednimi argumentami wiersza polecenia, aby załadować roboczy VB6
  5. Teraz wystarczy nacisnąć klawisz F5, aby uruchomić IDE VB6 i załadować swój projekt VB6
  6. Gdy chcesz ponownie zmienić kod COM, wyjście VB6.EXE, dokonać zmian i ponownie uderzył F5. Tak długo, jak można zaoszczędzić Twój obszar roboczy VB6 będzie pamiętał, co trzeba było okna otwarte, a wszystkie ustawienia projektu.

Zalety tego sposobu:

  • Można ustawić punkty przerwania w obiekcie COM i debugować go przy użyciu pełnego źródłowego debuggera
  • Można szczęśliwie debugowania w C i VB w tym samym czasie
  • Ilekroć VB6 działa to zawsze ma najnowszą wersję COM DLL
Odpowiedział 20/08/2008 o 04:58
źródło użytkownik

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