Hi!
Kurze allgemeine Frage: Ist es sinnvoll eine struktur folgendermaßen zu machen?
FUNCTION main:
local bla
window1(bla)
PRINT bla, 0, 0
...
ENDFUNCTION
FUNCTION window1: BYREF bla
window2(bla)
ENDFUNCTION
FUNCTION window2: BYREF bla
bla = 5
ENDFUNCTION
Macht das so Sinn oder sollte man die Variablennamen zwischendurch abändern bzw. dort an andere lokale Variablen weiter geben? (bla --> (bla an bla2 übergeben) --> byref bla2 usw.
GLG
W.
Macht keinen Sinn...
Zumindest für mich nicht, mach das ein paar hundert mal und du hast das totale Kaos.
Also macht es mehr Sinn die Werte mit verschiedenen Variablennamen zu übergeben, oder?
BYREF macht eigentlich nur dann Sinn, wenn du mehr als einen Funktionsparameter innerhalb der Funkion ändern willst. Bei nur einem Parameter nutze lieber RETURN
FUNCTION main:
LOCAL bla
bla = window1(bla)
....
ENDFUNCTION
FUNCTION window1: bla
RETURN window2(bla)
ENDFUNCTION
FUNCTION window2: bla
RETURN 5
ENDFUNCTION
Instanzen von TYPEs oder ARRAYs werden ja eh standardmäßig BYREF übergeben, wenn ich das richtig in Erinnerung habe.
arrays ;)
Instanzen von TYPEs auch ;)
TYPE t_test
x; y
ENDTYPE
LOCAL s_test AS t_test
change_test(s_test)
PRINT "s_test.x: " + s_test.x, 0, 0
PRINT "s_test.y: " + s_test.y, 0, 20
SHOWSCREEN
KEYWAIT
FUNCTION change_test: p_test AS t_test
p_test.x = 5
p_test.y = 10
ENDFUNCTION
Ok, ich glaube, langsam bekomme ich ein bißchen Verständnis dafür! Die Vermutung zu verstehen ist noch nicht ganz kapiert, aber langsam vermute ich richtig zu verstehen...