Freak_Desperado
Erfahrenes Mitglied
Moin moin!
Ich brauche für mein Programm (in C# geschrieben) einige Funktionen, die wohl nur in C++ zu implementieren sind, da das .NET Compact Framework diese nicht unterstützt.
Also möchte ich diese Funktionen in einer DLL-Datei unterbringen und diese dann in C# laden.
Ich habe es erstmal mit einem Testprojekt versucht, um mal zu schaun, wie das mit den DLL-Dateien überhaupt funktioniert.
Ich habe jetzt folgendes:
Nun wird der Einsprungspunkt nicht gefunden.
Die def-Datei habe ich gar nicht berührt, da ich nicht weiß, wie diese aufgebaut sein muss.
Wozu ist die Funktion InitInstance und warum wird das Objekt theApp erzeugt?
Was mache ich falsch?
Gruß
Michael
Ich brauche für mein Programm (in C# geschrieben) einige Funktionen, die wohl nur in C++ zu implementieren sind, da das .NET Compact Framework diese nicht unterstützt.
Also möchte ich diese Funktionen in einer DLL-Datei unterbringen und diese dann in C# laden.
Ich habe es erstmal mit einem Testprojekt versucht, um mal zu schaun, wie das mit den DLL-Dateien überhaupt funktioniert.
Ich habe jetzt folgendes:
Code:
testapp.h (aufs Wesentliche gekürzt):
class TestApp : public CWinApp{ // ": public CWinApp hat VisualStudio hinzugefügt
private:
int a;
int b;
public:
TestApp();
__declspec(dllexport) int testfunktion(int x, int y);
// Überschreibungen
public:
virtual BOOL InitInstance();
DECLARE_MESSAGE_MAP();
}
Code:
testapp.cpp (aufs Wesentliche gekürzt):
TestApp::TestApp(){
a = 0;
b = 0;
}
__declspec(dllexport) int TestApp::testfunktion(int x, int y){
return x + x * y;
}
// Das einzige TestApp-Objekt
TestApp theApp;
// TestApp-Initialisierung
BOOL TestApp::InitInstance(){
CWinApp::InitInstance();
return TRUE
}
Nun wird der Einsprungspunkt nicht gefunden.
Die def-Datei habe ich gar nicht berührt, da ich nicht weiß, wie diese aufgebaut sein muss.
Wozu ist die Funktion InitInstance und warum wird das Objekt theApp erzeugt?
Was mache ich falsch?
Gruß
Michael
Zuletzt bearbeitet: