C++ DLL in VB benutzen
-
Hallo !
Hier meine Frage :
Ich habe eine DLL in C++ 7 geschrieben (mit Automation falls jemand weiss was das bedeutet , gut
)
Sieht so aus :
BOOL __declspec(dllexport)__stdcall MeineFunktion(int x);
Die möchte ich in Visual Basic benutzten :
Projekt->Verweise-> "hier die DLL einbinden"OK
Die Funktionen hab ich so deklariert :
Option Explicit
Private Declare Function MeineFunktion Lib "C:\DerKorrektePfad\MeineDLL.dll" (byval x as integer) As Booleanund dann im Programm benutzen : (VB)
Dim x as Integer
x = 100
Call MeineFunktion(x)oder auch so :
MeineFunktion(x)Aber jetzt das Problem :
In der DLL kommt nicht 100 an sondern -32476 oder sowas
(mit MessageBox in DLL rausgefunden)
Warum nur ???
-
Dieser Thread wurde von Moderator/in davie aus dem Forum C++ in das Forum Rund um die Programmierung verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Help!
-
Hallo,
versuche es mit einem short int (ein Visual Basic-Integer hat nichts mit einem C++-int zu tun):
BOOL __declspec(dllexport)__stdcall MeineFunktion(short x);
MfG
-
Kann es sein das du nicht weisst wovon du redest
(mit Automation falls jemand weiss was das bedeutet , gut
)
Wenn du tatsächlich eine COM-DLL geschreiben dann musst/kannst du die Komponente über Verweise einhängen. In diesem Fall ist das "Declare" jedoch völlig sinnlos.
Hast du andererseits eine Standard-DLL geschrieben, so ist das "Declare" richtig, aber die "Anbindung" über Verweise jedoch sinnlos.
Wenn du genau weiss was du da in C++ wirklich gemacht, hast dann melde dich doch bitte nochmal.
-
Mich interessiert das Thema, obwohl ich überhaupt keine Ahnung davon habe... C/C++ und VB kann ich programmieren, aber wie mache ich aus C++ Code eine DLL ? Welche Tools braucht man ggf. ?
-
(Hoffentlich) jede Entwicklungsumgebung für Windows-Programme unterstützt die Erstellung von DLLs sowohl "echte" DLLs oder auch COM-DLLs. Wie es geht kann ich hier zumindest nicht in 2 oder 3 Sätzen erklären.
Umfassende Erklärungen gibts in der Standard-Literatur:
- Petzold, Richter (Standard-DLLs)
- Box, Rodgerson (COM)
-
ausserdem .def datei zur c++ dll hinzufügen und die namen der funktionen reinschreiben die von vb aus aufgerufen werden sollen
dann noch die funktionen in das vb programm eintragen und fertig
such mal n bissi in der msdn... da wird alles genau erklärt