Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
MichaelO
Anmeldungsdatum: 20.02.2007 Beiträge: 2
|
Verfasst am: 23.02.2007, 01:33 Titel: Problem mit Bezeichner in einem Unterprogramm |
|
|
Hallo
Ich habe vor Kurzem das schöne 3D-Grafiktutorial von Mario Zechner gelesen und dabei ein par (für mich) neue Befehle kennengelernt. Unter anderem SUB und TYPE. Arrays verwende ich auch erst seit kurzer Zeit.
Nun wollte ich eines meiner Programme mit diesen Befehlen verschönern und bin auf ein Problem gestoßen.
Mein Programm simuliert die Bewegung von mehreren Massepunkten.
Da es etwas kompliziert ist, habe ich die folgenden Beispiele vereinfacht. Der Fehler ist aber der Selbe.
Das folgende Beispiel funktioniert:
Code: | TYPE Punkt
x AS SINGLE
y AS SINGLE
END TYPE
DIM Masse(5) AS Punkt
m1=1
Masse(m1).x = 400
END |
Wenn ich nun den Befehl "Masse(m1).x = 400" in einem Unterprogramm ausführen will, wird er markiert und ich bekomme folgende Fehlermeldung:
"Bezeichner können keinen Punkt enthalten"
Mein Unterprogramm hatte die folgende Form:
Code: | DECLARE SUB Wechselwirkung (m1 AS INTEGER)
TYPE Punkt
x AS SINGLE
y AS SINGLE
END TYPE
DIM Masse(5) AS Punkt
Wechselwirkung 1
END
SUB Wechselwirkung (m1 AS INTEGER)
Masse(m1).x = 400
END SUB |
Das Programm sollte jetzt im Grunde genau dasselbe machen wie im oberen Beispiel, nämlich die Variable Masse(1).x auf 400 setzen. Ich kann mir die Fehlermeldung nicht erklären. Was ein Bezeichner ist, weiß ich nicht genau. Im Qb-Kochbuch wurde der Begriff zwar verwendet, aber nicht erklärt.
Was müsste an dem Unterprogramm verändert werden damit es funktioniert?
Gruß
Michael |
|
Nach oben |
|
 |
dreael Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 2529 Wohnort: Hofen SH (Schweiz)
|
|
Nach oben |
|
 |
MichaelO
Anmeldungsdatum: 20.02.2007 Beiträge: 2
|
Verfasst am: 23.02.2007, 14:44 Titel: |
|
|
Hallo
Vielen Dank, jetzt kann ich endlich weiter programmieren .
Deine Seite habe ich mir angesehen, da steht das mit SHARED auch nochmal gut erklärt.
Globale Variablen kenne ich von Java. Ich dachte, das wäre bei QB nicht nötig. Jetzt weiß ich ja bescheid.
Gruß
Michael |
|
Nach oben |
|
 |
|