Seite 1 von 1
Strukturen Globalisieren? [Gelößt]
Verfasst: 04.08.2011 22:08
von Raphi
HI ich habe ein kleines Problem mit den Variablen.
Ich habe eine Struktur verwendet.
Dieser wir in einer Prozedur ein Wert zugewiesen.
Code: Alles auswählen
Procedure CheckFolge()
If Squadrat = 1
Point1.P1\x = Check1X
Point1.P1\Y = Check1Y
EndIf
EndProcedure
Und in der nächsten Prozedur wird dieser Wert dann benötigt um einen Weg zu zeichnen.
Aber der Wert wird nicht übernommen und wenn ich versuche die Variable zu globalisieren kommt folgender Fehler:
Variable already decleart with another type: Point1
Was kann ich da tun?
Re: Strukturen Globalisieren?
Verfasst: 04.08.2011 22:17
von ts-soft
Wenn Du mal den Code zeigen würdest, der diese Fehlermeldung ausgibt. Ausserdem möchte ich Dir
EnableExplicit ans Herz legen, dann kannste zumindest mit Variablen nicht mehr so viel verkehrt machen
Code: Alles auswählen
EnableExplicit
Structure P1
x.b
y.b
EndStructure
Global Point1.P1
Procedure CheckFolge()
Protected Squadrat, Check1X, Check1Y
If Squadrat = 1
Point1.P1\x = Check1X
Point1.P1\Y = Check1Y
EndIf
EndProcedure
Re: Strukturen Globalisieren?
Verfasst: 04.08.2011 22:25
von Raphi
Danke klappt jetzt wunderbar
ts-soft hat geschrieben:Wenn Du mal den Code zeigen würdest, der diese Fehlermeldung ausgibt.
Procedure CheckFolge()
Protected Squadrat, Check1X, Check1Y
If Squadrat = 1
Point1.P1\x = Check1X
Point1.P1\Y = Check1Y
EndIf
EndProcedure
Das Blaue war markiert als die Fehlermeldung kam.
(Werd nächstes mal dran denken)
Re: Strukturen Globalisieren?
Verfasst: 04.08.2011 22:35
von ts-soft
Raphi hat geschrieben:Das Blaue war markiert als die Fehlermeldung kam.
(Werd nächstes mal dran denken)
Das meinte ich nicht, bzw. nutzt nichts, weil:
Code: Alles auswählen
Structure P1
x.b
y.b
EndStructure
Procedure CheckFolge()
Protected Squadrat, Check1X, Check1Y
If Squadrat = 1
Point1.P1\x = Check1X
Point1.P1\Y = Check1Y
EndIf
EndProcedure
gibt ja ohne enableexplicit keine Fehlermeldung, also der verursachende Teil fehlt irgendwie.
Code immer so weit kürzen, das er ausführbar bleibt und die Fehlermeldung noch kommt!
Ist oft mit Arbeit verbunden, aber das ist meist unbedingt erforderlich und wird dann auch von
Dir so gefordert!
Ich hoffe mal, Du nutzt jetzt immer EnableExplicit, also jede Variable muß deklariert sein,
weil damit tust Du auch Dir einen gefallen.
Gruß
Thomas
Re: Strukturen Globalisieren?
Verfasst: 05.08.2011 08:55
von Raphi
ts-soft hat geschrieben:
Ich hoffe mal, Du nutzt jetzt immer EnableExplicit, also jede Variable muß deklariert sein,
weil damit tust Du auch Dir einen gefallen.
Das Werde ich auf jeden fall tun

Re: Strukturen Globalisieren? [Gelößt]
Verfasst: 05.08.2011 09:10
von ullmann
Die Variable Point1 war in der Prozedur bekannt, nur nicht als Typ ".P1". Vermutlich war dein
Global-Befehl ohne Typangabe. Damit war die Variable global, aber mit dem Standardtyp ".i".
Da in der Prozedur die Variable auf einmal mit Typ ".P1" angesprochen wurde, kam es zu der
Fehlermeldung.
TS-Soft hat mit dem korrekten Global-Befehl
dem Abhilfe geschaffen.
Re: Strukturen Globalisieren? [Gelößt]
Verfasst: 05.08.2011 09:40
von ts-soft
ullmann hat geschrieben:Vermutlich war dein Global-Befehl ohne Typangabe.
Und wenn dann dieser Teil des Sources, der den Fehler verursacht, mitgepostet wird,
sparen wir uns das Geld für die Glaskugel

Re: Strukturen Globalisieren? [Gelößt]
Verfasst: 05.08.2011 13:57
von Raphi
ullmann hat geschrieben:Die Variable Point1 war in der Prozedur bekannt, nur nicht als Typ ".P1". Vermutlich war dein
Global-Befehl ohne Typangabe. Damit war die Variable global, aber mit dem Standardtyp ".i".
Da in der Prozedur die Variable auf einmal mit Typ ".P1" angesprochen wurde, kam es zu der
Fehlermeldung.
TS-Soft hat mit dem korrekten Global-Befehl
dem Abhilfe geschaffen.
Das hatte ich schon versucht, hat aber nicht geklappt weil ich den Global befehlt vor die Strukturierung beschrieben habe
