Autor: Karl-Jürgen Hilger (---.dyn.telefonica.de)
Datum: 24.04.16 00:40
Hallo,
wenn ich (unter XProfan X3.1) ein Objekt- Array ohne Postfix erstelle, ist folgender Normal- Aufruf einer Methode nicht möglich:
Objekt_ohne_Postfix[index].setWert(Wert)
Nur mit dem With- Konstrukt funktioniert es:
With Objekt_ohne_Postfix[index]
.setWert(Wert)
EndWith
Diese Einschränkung besteht meiner Meinung nach ausschließlich bei Elementen eines postfixlosen Arrays.
Da ich gerade hier viel Wert auf die Möglichkeit lege, ohne Postfix arbeiten zu können, wäre es schon etwas umständlich, z.B. bei jeder einzelnen Wertzuweisung auf das With- Konstrukt ausweichen zu müssen.
Oder soll / muß das so sein?
Anbei ein kleiner Beispielcode.
Danke schonmal!
Gruß
KJ
Declare Postfix#[10]
Declare Memory NoPostfix[10]
class irgendwas = wert%, irgendwas@, getWert@, setWert@
//Konstruktor
Proc irgendwas.irgendwas
Parameters integer x
.Wert% = x
EndProc
// Getter / Setter
Proc irgendwas.getWert
Return .Wert%
EndProc
Proc irgendwas.setWert
Parameters integer x
.Wert% = x
EndProc
// 2 Objekte erstellen
Postfix#[0] = New(irgendwas, 1)
NoPostfix[0] = New(irgendwas, 2)
// jetzt mal die Werte ändern
// ohne Postfix funktioniert nur Folgendes
With NoPostfix[0]
.setWert(20)
EndWith
// mit Postfix funktioniert aber auch der "normale" Aufruf
Postfix#[0].setWert(10)
// Letzteres ist ohne Postfix nicht möglich
// bitte folgende Zeile aktivieren, um die Fehlermeldung zu erzeugen
// NoPostfix[0].setWert(20)
cls
print Postfix#[0].Wert%
print NoPostfix[0].Wert%
waitinput
dispose Postfix#, NoPostfix
Nachricht bearbeitet (24.04.16 00:54)
|
|