Autor: Karl-Jürgen Hilger (---.dyn.telefonica.de)
Datum: 09.09.18 19:35
Endlich kann ich einen kleinen Code vorlegen, der zeigt, daß ein als gefixt betrachteter Bug zumindest im Compiler noch sein Unwesen treibt.
(auch in X4a)
Es geht wohl nach wie vor um die Übergabe von Eigenschaften oder Methoden eines Objekts an ein anderes.
In meinem Code werden Eigenschaften übergeben, was kompiliert nicht funktioniert.
Ich freue mich natürlich sehr, wenn beides, Methoden und Eigenschaften, sowohl im Interpreter als auch im Compiler, bei einer Übergabe funktioniert.
Hier der Code
Gruß
KJ
Declare end&
Declare mem prg, kreis
UserMessages $10
//----------------------------------------------------
Class PROGRAM = cLeft&, cTop&, cWidth&, cHeight&,\
PROGRAM@,\
StartScreen@
Proc PROGRAM.PROGRAM
Parameters String name, Long w,h
WindowTitle name : WindowStyle 8 : Window w,h
.cLeft& = 0 : .cTop& = 0 : .cWidth& = Width(&hwnd) : .cHeight& = Height(&hwnd)
.StartScreen()
EndProc
Proc PROGRAM.StartScreen
kreis = New(GEMALTER_KREIS, .cLeft&, .cTop&, .cWidth&, .cHeight&) // <------------------- Hier der Fehler, (Workaround ist klar).
EndProc
//----------------------------------------------------
Class GEMALTER_KREIS = GEMALTER_KREIS@ // ...naja, war mal als Kreis gedacht ...
Proc GEMALTER_KREIS.GEMALTER_KREIS
Parameters Long x,y, breite,hoehe
Ellipse X, Y - (X + breite), (Y + hoehe)
EndProc
//----------------------------------------------------
PRG = New(PROGRAM,"Compiler Error",600,400)
//----------------------------------------------------
WhileNot end&
WaitInput
If (%UMessage = $10)
end&= 1
Dispose kreis, prg
EndIf
EndWhile
End
Nachricht bearbeitet (09.09.18 19:39)
|
|