Fehlermeldung bei dll einbindung
-
Hi,
während ich in büchern versuche meinem Fehler auf die schliche zu kommen, akn mir ja vielleicht einer von euch weiterhelfen.
Versuch eine dll einzubvinden, bekomme jedoch follgende Fehlermeldung.:\temp\c++ Files\08\08Dlg.cpp(202) : error C2352: 'k8055d::OpenDevice' : Unzulaessiger Aufruf einer nichtstatischen Member-Funktion d:\temp\c++ files\08\k8055d.h(16) : Siehe Deklaration von 'OpenDevice' Fehler beim Ausführen von cl.exe.
Der C++ code von mir
void CMy08Dlg::OnOpenDevice() { long CardAddress; CardAddress= 3; //k8055d.OpenDevice(CardAddress); k8055d::OpenDevice(CardAddress); }
k8055d.h is die header für die dll datei.
Gibt's Tipps?
thx mario
-
Versuch mal:
k8055d obj; obj.OpenDevice(CardAddress);
Die Fehlermeldung heißt einfach, dass du ein Objekt brauchst, um die Funktion aufzurufen.
-
Hi, danke vorerst mal für die auflösung des "rätsels", leider kam ein kyptischers dazu
08Dlg.obj : error LNK2001: Nichtaufgeloestes externes Symbol "public: __thiscall k8055d::~k8055d(void)" (??1k8055d@@QAE@XZ) 08Dlg.obj : error LNK2001: Nichtaufgeloestes externes Symbol "public: long __thiscall k8055d::OpenDevice(long)" (?OpenDevice@k8055d@@QAEJJ@Z) 08Dlg.obj : error LNK2001: Nichtaufgeloestes externes Symbol "public: __thiscall k8055d::k8055d(void)" (??0k8055d@@QAE@XZ) Debug/08.exe : fatal error LNK1120: 3 unaufgeloeste externe Verweise
bei dem Code
void CMy08Dlg::OnOpenDevice() { long CardAddress; CardAddress= 3; k8055d obj; obj.OpenDevice(CardAddress); }
Hab Ürbigends damit:
void CMy08Dlg::OnOpenDevice() { long CardAddress; CardAddress= 3; k8055d FILE; FILE.OpenDevice(CardAddress); }
Genau die Slebe Fehlermedlung.
PS: Was für eine bedeutung hat den die zeichenkette am ende der jeweiligen meldung.
Schätz mal das ich jetzt ein problem mit dem verlinken des codes zur dll hab oder?
mario
-
Du schätzt richtig.
Hast du die Dll selber geschrieben? Dann musst du die Klasse auch exportieren.
Lies mal: http://www.larsaf-iii.de/forum/cpp/Dll_machen.htm -> ganz unten!
-
Nop hab die dll vom hersteller, werd mich mal mit deinem link beschäftigen.
Danke nochmal,
.,mairo
-
Wenn die so vom Hersteller kommt, wird dir der Link nicht helfen.
Um das umzusetzen brauchst du den Quellcode.Dann bin ich erstmal ratlos...
-
Könnte vielleicht klappen, wenn man das kryptische Zeug in eine Moduldefinitionsdatei kopiert.