Anfängerfragen zum Programmieren mit PureBasic.
stab
Beiträge: 96 Registriert: 24.02.2006 16:09
Computerausstattung: 286er Big Tower; 16MHz; 1MB Ram; 40MB Festplatte, 5 1/4" und 3 1/2" Diskettenlaufwerk; VGA Farbmonitor 14"; Windows 3.1; PureBasic 0.5
Wohnort: Hardt
Kontaktdaten:
Beitrag
von stab » 29.08.2022 18:51
Hallo, kurze Frage:
Code: Alles auswählen
Structure MeineStruktur
vname.s
nname.s
EndStructure
Define.MeineStruktur Privat
Define.MeineStruktur Dienst
Privat\vname = "Jupp"
Privat\nname = "Schäfer"
Dienst\vname = "Bill"
Dienst\nname = "Gates"
Debug Privat\vname + " " + Privat\nname
Procedure Dienst()
Shared Dienst.MeineStruktur
Debug Dienst\vname + " " + Dienst\nname
EndProcedure
Dienst()
Wie erhalte ich globalen Zugriff auf obige Variablen?
Bisher muss ich den Zugriff innerhalb einer Prozedur durch Shared erlauben.
Vereinfacht in diesem Code:
Code: Alles auswählen
Define vname$
vname$ = "Jupp"
Debug vname$
Procedure vn()
;Shared vname$
Debug vname$
EndProcedure
vn()
Danke!
Paul sagt: "Max lügt."
Max sagt: "Otto lügt."
Otto sagt: "Max und Paul lügen."
Wer lügt hier wirklich und wer sagt die Wahrheit?
_________________________________________
286er Big Tower; 16MHz; 1MB Ram; 40MB Festplatte, 5 1/4" und 3 1/2" Diskettenlaufwerk; VGA Farbmonitor 14"; Windows 3.1; PureBasic 0.5
Nino
Beiträge: 1300 Registriert: 13.05.2010 09:26
Wohnort: Berlin
Beitrag
von Nino » 29.08.2022 19:06
Statt „Define“ muss du dazu „Global“ benutzen.
Ist aber nur in Ausnahmefällen empfehlenswert, weil dadurch der Aufwand für die Pflege des Programms steigt.
stab
Beiträge: 96 Registriert: 24.02.2006 16:09
Computerausstattung: 286er Big Tower; 16MHz; 1MB Ram; 40MB Festplatte, 5 1/4" und 3 1/2" Diskettenlaufwerk; VGA Farbmonitor 14"; Windows 3.1; PureBasic 0.5
Wohnort: Hardt
Kontaktdaten:
Beitrag
von stab » 29.08.2022 19:16
Stimmt, so gehts. Danke
Ich dachte, die Strukturen müssten mit Define deklariert werden.
Code: Alles auswählen
Structure MeineStruktur
vname.s
nname.s
EndStructure
Global.MeineStruktur Privat
Global.MeineStruktur Dienst
Privat\vname = "Jupp"
Privat\nname = "Schäfer"
Dienst\vname = "Bill"
Dienst\nname = "Gates"
Debug Privat\vname + " " + Privat\nname
Procedure Dienst()
;Shared Dienst.MeineStruktur
Debug Dienst\vname + " " + Dienst\nname
EndProcedure
Dienst()
Paul sagt: "Max lügt."
Max sagt: "Otto lügt."
Otto sagt: "Max und Paul lügen."
Wer lügt hier wirklich und wer sagt die Wahrheit?
_________________________________________
286er Big Tower; 16MHz; 1MB Ram; 40MB Festplatte, 5 1/4" und 3 1/2" Diskettenlaufwerk; VGA Farbmonitor 14"; Windows 3.1; PureBasic 0.5