M
Gut zu wissen.
So ich schreib dir mal ein Beispiel, wie ich ne Funktion aus einer DLL exportiere. Das lässt sich auch auf eine Variable anwenden. Allerdings steht in MS Windows Programmierung für Experten, dass man davon die Finger lassen soll und lieber Funktionen exportieren soll, mit denen man sich die Werte der Variablen übergeben lässt. Ich weiss zwar nicht genau warum, aber ich habe mich bis jetzt immer daran gehalten.
//DLL.cpp
int myFunc (char *myString, int myInt)
{
<code>
return <was auch immer>;
}
<andere Funktionen>
Du siehst schon in der cpp der DLL kannst du ganz normal schreiben.
//DLL.h
#ifndef DLL_H
#define DLL_H
#define DLLEXPORT extern "C" __declspec (dllexport)
DLLEXPORT int myFunc (char *, int );
<andere Fkt.köpfe>
#endif
Jetzt kommt die Anwendung, die diese Fkt laden soll.
//App.cpp
void main ()
{
HINSTANCE hDLL = LoadLibrary ("DLL");
.
.
.
typedef int (*TmyFunc) (char *, int );
TmyFunc pmyFunc = NULL;
pmyFunc = (TmyFunc) GetProcAddress (hDLL, "myFunc"); //kann sein das es auch "_myFunc" ist
int Result = pmyFunc (String, 5);
.
.
.
}
Meine Idee ist jetzt, wenn du es genauso in deiner Anwendung machst, wie ich in der DLL.h, dann müsstest du eigentlich Variablen etc. importieren können.
Hoffe konnte helfen,
Maffe