Mit Functionen globale variabel erstellen
Übersicht

The_Shadow3Betreff: Mit Functionen globale variabel erstellen |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi,
kann man mit einer normalen function eine globale variabel erstellen? Bisher hab ich es so versucht Code: [AUSKLAPPEN] Function InitMyMessage() Global _MyReceiveMessages:String[1]; End Function Ich brauche diese Variabel nähmlich auch in anderen Functionen, leider sagt der bei mit immer was von Unbekannte Variabel... Hat jemand ne lösung? Oder geht sowas einfach nicht? XD |
||
![]() |
BlitzcoderNewsposter |
![]() Antworten mit Zitat ![]() |
---|---|---|
Falls du dann später Versuchst so daraf zuzugreifen, kann es nicht gehen:
Code: [AUSKLAPPEN] _MyReceiveMessages[1] = "Gugu"
Weil die 1 beim Global setzten die Gesamtzahl der Felder ist. Und die Zählung startet bei 0. Also entweder so setzten: Code: [AUSKLAPPEN] global _MyReceiveMessages[2] = "Gugu"
Und so zugreifen: Code: [AUSKLAPPEN] _MyReceiveMessages[1] = "Gugu"
Oder so setzten: Code: [AUSKLAPPEN] global _MyReceiveMessages:String[1] = "Gugu"
und so zugreifen: Code: [AUSKLAPPEN] _MyReceiveMessages[0] = "Gugu"
MfG Blitzcoder |
||
P4 3 Ghz@3,55Ghz|GF 6600GT 256MB|Samsung 80GB | 2x Samsung 160GB|2048MB DDR-400 RAM|6 Mbit Flatrate | Logitech G15 | Samsung 225BW-TFT | Ubuntu Gutsy Linux | Windows Vista | Desktop | Blog | CollIDE | Worklog
________________ |°°°°°°°°°°°°°°||'""|""\__,_ |______________ ||__ |__|__ |) |(@) |(@)"""**|(@)(@)****|(@) |
The_Shadow3 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
naja ich habs so werte hinzugefügt:
Code: [AUSKLAPPEN] . . . _MyReceiveMessages = MyReceiveMessages[.._MyReceiveMessages.length+1] _MyReceiveMessages[MessageID]:+ MessageValue . . . und so abgefragt Code: [AUSKLAPPEN] Function MessageReceive:String(messageid:Int) If _MyReceiveMessages[messageid] Return _MyReceiveMessages[messageid]; Else Return False EndIf End Function Das problem ist aber, das er die variabel nicht kennt (_MyReceiveMessages), ausserdem sehe ich ein problem das messageid ein Int ist, vielleicht mach ich da noch ein "toString()" (oder " "+messageid^^) falls das geht x_X Edit: hatte es so vor: Array["KeyName"] = Wert (von php abgekuckt^^), leider geht sowas scheinbar hier nicht, nur Intiger sind in der [] erlaubt :/ |
||
![]() |
Farbfinsternis |
![]() Antworten mit Zitat ![]() |
---|---|---|
Was Du machen willst geht schlichtweg nicht. Innerhalb einer Funktion kann man eine globale Variable definieren, das ist soweit richtig. Dies hat aber allein den Zweck dass die Funktion den Wert dieser Variable auch beim nächsten Aufruf noch kennt. Allerdings ist die Variable für den Rest des Programms "unsichtbar".
Code: [AUSKLAPPEN] ' So gehts Function MyFunction() Global foo:Int = 10 foo:+1 End Function ' Aber das geht nicht: Function MyFunctionTwo() DebugLog foo End Function Wenn eine Variable von Funktionen geteilt werden soll erledigt man das entweder über einen Funktionsparameter oder über globale Variablen, Structs etc. |
||
Farbfinsternis.tv |
The_Shadow3 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ok thx, dann lass ich die variabeln einfach ausserhalb der init-function erstellen^^, und der rest geht auch, benutze jetzt eine nette "Map"^^ | ||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group