Am besten du erstellst einen Kontext für deine Applikation.
Also am Anfang des Codes eine Struktur, welche alle nötigen Variablen enthält:
Code: Alles auswählen
Structure APPLICATIONCONTEXT
hwnd.l
xyz.b
ping.l
dingsDa.b
*pAdresse
...
... usw
..
.
EndStructure
Procedure InitApp(*ctx.APPLICATIONCONTEXT, var1.l, var2.b, *pointer)
*ctx\ping = var1
*ctx\dingsDa = var2
*ctx\pAdresse = *pointer
EndProcedure
Beim initialisieren der Applikation kannst du diese Struktur im Speicher erstellen und später all deinen Prozeduren diesen Kontext und dessen Inhalt via Parameter verpassen.
Code: Alles auswählen
*ctx.APPLICATIONCONTEXT = AllocateMemory(SizeOf(APPLICATIONCONTEXT))
InitApp(*ctx, 10, 20, 60)
Vorteil: Du hast einen Pointer der alles eingekapselt enthält auf dessen Inhalt du in allen Bereichen zugreifen kannst solange die Adresse des Kontextes übergeben wird.
Und wenn du z.B. sodann deine Applikation re-initialisieren willst, musst du nicht wie bei Globalen alle einzeln auf 0 oder den defuault Wert setzen, sondern kannst das mit der Struktur an der Adresse blitzschnell lösen:
Code: Alles auswählen
CopyMemory(*AdressOfDefaultsStorage, *ctx)
oder alles wieder auf Zero zurück:
For i = 0 to SizeOf(APPLICATIONCONTEXT)-1
PokeB(*ctx, 0)
Next i
PS: Normale Variablen sind lokal, bedeutet auf sie kann lediglich im aktuellen Gültigkeitsbereich zugegriffen werden.
Code: Alles auswählen
local.l = 10
Procedure Function(....)
local = 20
EndProcedure
debug local
... wird 10 rauskommen, da die Procedure Function einen eigenen Gültigkeitsbereich hat.
http://www.purearea.net/pb/german/index.htm und dort unter "Prozeduren Unterstützung" die Links ansehen.
Wenn du also mit einer Melanie aus Hausnummmer 54 (die Prozedur) welche Hausarrest (local) hat rum fummelst, bedeutet es eben noch nicht, dass alle Melanies in allen anderen Häusern der Strasse etwas mit dir erlebt haben nur weil sie Melanie heissen. Die Häuser sind also die Gültigkeitsbereiche.
Wenn aber nun eine Melanie die globale Melanie der Strasse ohne Konkurrenz ist und keinen Hausarrest (global) hat und du mit ihr rum fummelst, dann kann sie in alle anderen Häuser (Prozeduren) zum Kaffeeklatsch gebeten werden und erzählen wie du an ihr rum gefummelt hast.