Naja um Variablen gehts nicht wirklich. Eigentlich bin ich momentan meine Programme am Optimieren. Und Projekte am vergrößern. Naja und da habe ich immer wieder Bugs, die mehr oder weniger die gleiche Ursache haben, woltle ich versuchen, die mal in den Griff zu bekommen. Meine Frage ist sozusagen eine Frage, wie ich mein Programmierverhalten verbessern kann. Am besten stell ich euch einfach mal mein Problem vor.
Als Beispiel, es gibt 2 Threads, die beide miteinander Kommunizieren. Der 1. Thread zeigt die Werte im Fenster an und der 2. Rechnet sie aus.
In Thread 2 werden jede Menge Variablen miteinander Addiert und Geteilt und wieder neu definiert etc. bis irgendwann ein Wert herauskommt. Die Beispiele einfach etwas größer Vorstellen, so wie sie in einem 10000 Zeilen Projekt aussehen würden...
Beispiel:
Code: Alles auswählen
global r
....
..
....
Procedure Thread2()
Blockgröße = menge.l/Mb*Anzahl.l
Repeat
x+x
Blockgröße+Blockgröße
x = Getgadgettext(...)
r = x*Menge/rts
....
.....
.......
Blockgröße+x
If Ende = 5
end
endif
Forever
endprocedure
Code: Alles auswählen
Procedure Thread1()
setgagdgetstate(#www, r)
...
...
Ende = 5
endprocedure
Ok, dafür gibt es zwar eine Möglichkeit, aber die ist glaube ich nicht optimal.
Code: Alles auswählen
Procedure Aufräumer()
r = 0
menge = 0
Blockgröße = 0
x = 0
trs.s = ""
p.l = 0
.....
...
...
endprocedure
Optimal wäre jetzt so ein Schlüsselwort wie Define, das eine Variable Global macht , aber sich von selbst auf Null bzw "" setzt, wenn der Thread, in dem das Ding Definiert wurde beendet wird.
Sowas gibts aber glaube ich nicht.
Ich hoffe, ihr habt mein Problem verstanden und habt eine Idee.