[SOLVED] Global Variablen Problem - DLL

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
R3booz
Beiträge: 90
Registriert: 01.11.2012 19:28
Computerausstattung: Intel Core I3, 4GB RAM, RADEON HD 6660 1 GDDR5
Kontaktdaten:

[SOLVED] Global Variablen Problem - DLL

Beitrag 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:
Zuletzt geändert von R3booz am 22.11.2012 23:03, insgesamt 1-mal geändert.
Rechtschreibfehler sind kostenlos und im Preis inklusive!

http://www.games-table.de.tl/
Version 5.20 LTS
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8838
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: Global Variablen Problem - DLL

Beitrag 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.
Benutzeravatar
R3booz
Beiträge: 90
Registriert: 01.11.2012 19:28
Computerausstattung: Intel Core I3, 4GB RAM, RADEON HD 6660 1 GDDR5
Kontaktdaten:

Re: Global Variablen Problem - DLL

Beitrag von R3booz »

danke :allright: werde es mal nachprüfen

mfg R3booz
Rechtschreibfehler sind kostenlos und im Preis inklusive!

http://www.games-table.de.tl/
Version 5.20 LTS
Benutzeravatar
R3booz
Beiträge: 90
Registriert: 01.11.2012 19:28
Computerausstattung: Intel Core I3, 4GB RAM, RADEON HD 6660 1 GDDR5
Kontaktdaten:

Re: Global Variablen Problem - DLL

Beitrag 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:
Rechtschreibfehler sind kostenlos und im Preis inklusive!

http://www.games-table.de.tl/
Version 5.20 LTS
Benutzeravatar
HeX0R
Beiträge: 3070
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Re: [SOLVED] Global Variablen Problem - DLL

Beitrag 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.
Antworten