Seite 1 von 1

[Erledigt] [DLLs] Statische Variablen

Verfasst: 07.12.2009, 19:31
von DomiOh
Hallo,

weiss jemand, ob und wie es möglich ist, auf statische Variablen, die in einer DLL definiert sind zuzugreifen?

Code: Alles auswählen

class DLLEXPORTIMPORT TestKlasse
{
public:
  static DLLEXPORTIMPORT int x;
};

Code: Alles auswählen

int DLLEXPORTIMPORT TestKlasse::x = 5;
Wenn ich versuche, auf x von meiner EXE aus zuzugreifen, bekommt int den Wert 5.
Ändere ich 'x' aber innerhalb der DLL, bekommt ich in der EXE weiterhin den Wert 5.

DLLEXPORTIMPORT ist ein Define, das sich jeweils danach richtet, ob importiert oder exportiert wird.

Danke im Voraus für die Hilfe

Re: [DLLs] Statische Variablen

Verfasst: 07.12.2009, 20:25
von Helmut
Wenn du die Variable importierst darfst du ihr keinen Wert zuweisen. Aber eigentlich müsste da der Compiler meckern...

Re: [DLLs] Statische Variablen

Verfasst: 07.12.2009, 21:37
von DomiOh
Ich weise dieser Variable als initialisierung in der DLL den Wert 5 zu.
Nicht im Programmcode.

Re: [DLLs] Statische Variablen

Verfasst: 08.12.2009, 00:34
von Lord Delvin
klingt irgendwie nach "die dll die tatsächlich geladen wird, wird nicht richtig überschrieben beim neubauen"

Re: [DLLs] Statische Variablen

Verfasst: 08.12.2009, 16:31
von Helmut
Probier vielleicht mal die Adresse der Variable in beiden Modulen auszugeben.

Re: [DLLs] Statische Variablen

Verfasst: 09.12.2009, 21:17
von DomiOh
Erledigt. Den Fehler aber nicht gefunden. Auf einmal ging es. Komisch.