Losse en COM kontroll når du arbeider i VB6 IDE

stemmer
33

En del av mitt daglige arbeid er å opprettholde og utvide arven VB6 programmer. En vanlig motor er skrevet i C / C ++ og VB6 bruker disse funksjonene for å forbedre ytelsen.

Når det kommer til asynkron programmering, er en C-grensesnittet ikke nok, og vi er avhengige av COM-kontroller for å fyre hendelser til VB6.

Mitt problem er at når jeg registrere kontrollen i VB6, gjør VB laster denne kontrollen i minnet og ikke lesse det før jeg sluttet i VB6 IDE. Som kontrollen lastes inn hele tiden, kan jeg ikke å rekompilere det i VC6, fordi DLL-filen er låst.

En løsning jeg fant er ikke å aktivere kontroll i VB men bruk CreateObject()med det fulle navnet på min kontroll. Problemet er da at jeg må erklære min kontroll som et objekt fordi VB6 vet ingenting av grensesnittet jeg bruker, og jeg har ikke tilgang til IntelliSense, som er en smerte.

Noen anelse om hvor jeg kan fortelle VB6 å losse kontroller etter avslutte programmet eller direkte i IDE?

Publisert på 02/08/2008 klokken 11:52
kilden bruker
På andre språk...                            


1 svar

stemmer
28

Jeg er ganske sikker på at det er ingen god måte å tvinge VB6 å losse kontroll.

Her er hva jeg gjør ... i stedet for å kjøre Visual C og Visual Basic side-by-side, kjøre VB6 henhold VC:

  1. Laste opp VC
  2. Åpne prosjektet som inneholder COM-objekter
  3. Redigere, endre, etc.
  4. I VC, sette utgang kjør å være VB6.EXE med passende kommandolinje argumenter for å laste inn VB6 arbeidsområdet
  5. Nå bare trykke F5 for å starte VB6 IDE og laste VB6 prosjekt
  6. Når du ønsker å endre COM koden på nytt, avslutter VB6.EXE, gjør endringene, og trykk F5 igjen. Så lenge du lagrer din arbeidsplass VB6 vil huske hva vinduene du hadde åpne og alle dine prosjektinnstillinger.

Fordelene med denne metoden:

  • Du kan sette stoppunkter i COM-objekt og feilsøke den med en full kilde debugger
  • Du kan gjerne feilsøke i C og VB samtidig
  • Når VB6 kjører den alltid har den nyeste versjonen av COM DLL-filer
Svarte 20/08/2008 kl. 03:58
kilden bruker

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