Seite 1 von 1

[SOLVED] Global Variablen Problem - DLL

Verfasst: 22.11.2012 22:05
von R3booz
ich habe eine Variable zwar mit Global deklariert aber das funktioniert irgendwie nicht :|

Programm:

Code: Alles auswählen

Global version.s = "BETA v2"
If OpenLibrary(0, "system.dll")
  CallFunction(0, "pref")
  CloseLibrary(0)
Else
  MessageRequester("Fehler","Konnte system.dll nicht finden!")
  End
EndIf
DLL:

Code: Alles auswählen

ProcedureDLL pref()
    CreatePreferences("pref.ini")
    WritePreferenceString("Version",version.s)
    ClosePreferences()
EndProcedure
Vielen Dank für die Hilfe :)

mfg R3booz

PS: ich habe noch viel mehr variablen die nicht über die dll funktionieren obwohl sie alle als global gekennzeichnet sind :bluescreen:

Re: Global Variablen Problem - DLL

Verfasst: 22.11.2012 22:57
von NicTheQuick
Wird denn die Datei überhaupt erstellt?

Ich hab mit DLLs bisher auch nie so viel am Hut gehabt. Aber müssen Variablendeklarationen nicht in dieser Initialisierungsfunktion für DLLs stehen, die ausgeführt wird, wenn die DLL geladen wird?
Ansonsten gäbe es auch noch die Möglichkeit Konstanten statt globaler Variablen zu nutzen.

Re: Global Variablen Problem - DLL

Verfasst: 22.11.2012 22:58
von R3booz
danke :allright: werde es mal nachprüfen

mfg R3booz

Re: Global Variablen Problem - DLL

Verfasst: 22.11.2012 23:03
von R3booz
also ...
das funktioniert ich hab einfach alle variablen die als global deklariert sind in der dll unter dem prozedur namen AttachProcess(Instance) kopiert

sieht wie folgt aus:

Code: Alles auswählen

ProcedureDLL AttachProcess(Instance)
  Global version.s = "BETA v2"
EndProcedure
und es hat funktioniert vielen dank :allright: :allright: :allright:

Re: [SOLVED] Global Variablen Problem - DLL

Verfasst: 23.11.2012 00:51
von HeX0R
Die DLL hat keine Ahnung von deinen globalen Variablen und/oder Konstanten im Hauptprogramm!
Du solltest Variablen, die eine DLL-Prozedur benötigt als Parameter übergeben, alles andere ist eine Krücke.