Hvordan koble VB6.0 & VC ++

Hvordan koble VB6.0 & VC ++


VB6.0 og VC ++ er både objektorienterte programmeringsspråk. De er også Microsofts programutvikling språk. Når du utvikler en applikasjon, bør du bruke de beste funksjonene til programmeringsspråk, som hvert språk har unike egenskaper. Du må kanskje å programmere med begge språk for å maksimere et programs fordeler. Ved hjelp av en DLL (Dynamic Link Library), kan du utnytte fordelene av begge språk. DLL bygget i VC ++ kan også brukes i VB 6.0.

Bruksanvisning

1 Klikk "Start", "Alle programmer" og "Visual Basic 6" for å åpne VB6.0. Klikk på "File", "New Project" og "ActiveX DLL" for å lage en ActiveX DLL-filen. Endre prosjektnavnet til "dllfile" i eiendom vinduet. Klikk på "Lagre" for å lagre prosjektet til den lokale datamaskinen.

2 Klikk på "Project" og "Referanser" for å legge til Excel referanser til den eksisterende referanselisten:
C: \ Programfiler \ Microsoft Office \ Office11 \ Excel.exe. Dette har referansen satt opp til Microsoft Excel Object Library.

3 Klikk dllfile.vb på "Solution Explorer" og skriv inn følgende kode etter "Option Explicit erklæring":
implementerer AddInDesignObjects.IDTExtensibility2

4 Opprett en ny klassemodul ved å høyreklikke på prosjektnavnet, og velg Skriv inn følgende kode "Ny klasse.":
Option Explicit

Option Compare Text
Private WithEvents pExcelApp As Excel.Application
Friend Property Get ExcelApp() As Excel.Application
Set ExcelApp = pExcelApp
End Property

Denne klassen modulen definerer Excel programhendelser. Klikk på "File", "Legg Project" og "Standard EXE" for å kompilere den. Finn holdt filen fra der du lagret prosjektet.

5 Klikk "Start", "Alle programmer" og "VC ++." Klikk "New" og "Project" for å opprette et nytt prosjekt. Klikk "Form1.vc" og inkludere dll-fil:

inkludere "dllfile.dll"

6 Laste DLL inn i minnet og opprette en forekomst av det:
HInstance hLib = Loadlibrary ( "dllfile.dll");
if (hLib == NULL)
{
cout << "FEIL: Kan ikke laste bibliotek!" << Endl;
getch ();
komme tilbake;
}

7 Søk gjennom DLL-filen og finne adressen til funksjoner:
TestFunc = (cfunc) GetProcAddress ((HMODULE) hLib, "TestFunc");
RetInt = (ifunc) GetProcAddress ((HMODULE) hLib, "RetInt");