Sorry dass ich erst jetzt antworte, aber mein internet hat irgendwie Probleme mitz der Seite... ich muss mich jedesmal ca 3mal anmelden bis es Funktioniert... also: Mit kompliziert meinte ich, wie es in Scherfgens Buch erklärt wird, also dass man nur virtuelle Methoden benutzen darf und eine "Fabrikfunktion" zur Erstellung einer Instanz in die dll schreiben muss... Das es so einfacvh ist, wusste ich nicht
thanks @ all
EDIT:
Hab das jetzt getested, aber jetzt wird behauptet das die Klasse nicht definiert worden wäre. Ich habe aber die entstandene lib-datei ins Projekt eingefügt und die Dll in den entsprechenden Ordner kopiert. Hier ist mal mein Code:
Dll:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
// Dies ist die Haupt-DLL.
#include "stdafx.h"
#include "Testklasse.h"
#include <iostream>
extern "C"
{
class __declspec(dllexport) TestClass
{
public:
int TestInt;
void Show()
{
std::cout << TestInt;
}
};
}
|
Programm:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
#include <iostream>
#include <cstdlib>
class __declspec(dllexport) TestClass;
int main()
{
TestClass i;
i.TestInt = 3;
i.Show();
system("PAUSE");
return 0;
}
|
Und ich habe in beiden Dateien
|
C-/C++-Quelltext
|
1
|
__declspec(dllimport)
|
oder keine Klassenspezifikation versucht