Hallo zusammen,
ich habe ein kleines (Verständnis-)Problem bei der objektorientierten
Programmierung in VC++.
Und zwar möchte ich eine DLL erstellen, die nach Aussen Zugriff auf ein
internes Objekt ermöglicht. Die zu exportierenden Funktionen sind als
extern "C" deklariert.
Jetzt habe ich z.B. eine Funktion
1 | extern "c" __declspec(dllexport) int GetNumberOfDevices()
|
2 | {
|
3 | // Hier soll jetzt auf das Objekt zugegriffen werden, also z.B.
|
4 | return MyObject.GetNumUsbDevices();
|
5 | }
|
Nun funktioniert das ganze leider nicht, da ich ja nur eine Klasse
programmiert habe, diese jedoch ncoh nicht instanziert wurde.
Wenn ich die Instanzierung in der GetNumberOfDevices() mache, dann ist
das Objekt nach verlassen der Funktion ja wieder weg.
Wie kriege ich es hin, daß das Objekt erhalten bleibt (also quasi
statisch und global ist) und auch die anderen exportierten Funktionen
darauf zugreifen können?