vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
DLL's explizit laden ohne Registrierung 
Autor: r00die
Datum: 26.04.06 14:27

Moin Moin,

ich habe ein kleines Problem in Verbindung mit der Implementierung einer C++ DLL in Visual Basic 6.0.

Mittels der API - Funktionen "LoadLibraryA", "FreeLibrary" und "GetProcAddress" ist es möglich, auch unter VB DLL's explizit ( zur Laufzeit ) zu laden. Mit der Funktion "GetProcAddress" kann man den Einsprungspunkt einer Funktion innerhalb der DLL bestimmen.

nHMod = LoadLibrary("myDLL.dll")
pAddress = Hex(GetProcAddress(nHMod, "Funktionsname"))
FreeLibrary nHMod

In der Variable pAddress steht nun die Adresse der Funktion. Wie kann ich die Funktion aufrufen ( mit Rück- und Übergabewerte )?

In C++ kann ich mir einen Datentyp bauen, der den Funktionsaufruf enthält:

typedef int (*FNTEST)(int);
HMODULE h = LoadLibrary("myDLL.dll");
FNTEST fnTest = (FNTEST) GetProcAdress(h, "Funktionsname");

Mit -> fnTest(Übergabewert) -> kann ich die Funktion direkt benutzen.

Gibt es etwas Vergleichbares in VB?
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
DLL's explizit laden ohne Registrierung661r00die26.04.06 14:27
Re: DLL's explizit laden ohne Registrierung356TheNukeduke26.04.06 21:01

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel