Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hi,

also ich versuche grad irgendwie Funktionen aus einer VB-Dll in C++ ausführen zu können.

Da man ja in VB beim erstellen einer Dll nichts als "export" deklarieren kann, möchte ich das ganze nun über COM machen.

Hab schon im I-Net mehrere Artikel gefunden, die sagen das das geht, aber noch kein Beispiel.

Weiss jemand wie das funktioniert und kann mir mal ein Beispiel geben?

Geschrieben

Hi,

war etwas unverständlich oder? :)

Also ich habe eine Visual-Basic DLL.

Mein Problem ist der Zugriff von C++ aus.

Der geht meines Wissens nach nur über COM.

Die Frage stellt sich nur wie ich überhaupt ein COM object aus der VB-Dll bekomme.

#Import entfällt übrigends, ich brauche die DLL dynamisch.

Ich hoffe mein Problem war jetzt verständlicher.

Geschrieben

Hmmm...es gibt keine Adressen von VB-DLL's ?

Wie kann man diese dann einbinden ???

Also ich hab grad aus dem VB98-Ordner vom Visual Studio 2 VB-DLL's ins Systemverzeichnis kopiert und bekomme valide Werte von LoadLibrary und GetProcAddress.

Geschrieben
Original geschrieben von Cool-Matthias

Also wenn du mit VB ne normale DLL bildest bekommst du garantiert keine richtigen Adressen via GetProcAddress.

Das hab ich getestet.

Was sagt denn Depends zu den DLLs? Und zeig uns doch mal den Code mit LL und GPA, mit den typedefs, falls Du welche machst.
Geschrieben

Vielleicht ist es auch spezielle DLL, die kein DLLMain() hat. Dann braucht man aber ne Header oder ne .DEF oder Typbibliothek.

Auszug:

If the module is a DLL not already mapped for the calling process, the system calls the DLL's DllMain function with the DLL_PROCESS_ATTACH value. If the DLL's entry-point function does not return TRUE, LoadLibrary fails and returns NULL.

Geschrieben

Das Problem besteht doch darin, dass liegt doch darin, dass man mit VB keine DLL schreiben kann, die eine normale Prozedur "exportiert".

Demnach sieht man mit Depends auch keine exportierten Funktionen und kann sie nicht per LoadLibrary() und GetProcAddress() laden.

Ich habe 2 Alternativen im Netz gefunden:

1. Alternative: ActiveX-DLL

http://www.codeproject.com/dll/vbactivexwithvc.asp

2. Alternative: wrapper-table (Hackerei)

http://www.al-williams.com/new/tips/tip30.htm

Außerdem gibt es noch ein paar Firmen, die diese Funktionalität als "Produkte" verkaufen:

z.B. http://simplysolutions.com/visdll/detail.html

Ich hoffe das hilft.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...