Das OFFIZIELLE PROFAN SUPPORT FORUM
Einsteigerfragen
PROFAN-Programmierung
Helfer & Tools
Anregungen & Vorschläge
PROFAN-NEWS
Die Regeln!
2 - PROFAN-Programmierung

 Neues Thema  |  Zur Übersicht  |  Suchen  |  Einloggen   Neuerer Beitrag  |  Älteres Thema 
 Compiler Fehler
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)

Beitrag beantworten
 
 Re: Compiler Fehler
Autor: p. specht (---.aon.at)
Datum:   16.09.18 19:49

Ohne es gechecked zu haben: Muss man KREIS wirklich disposen? Ich dachte das bezieht sich nur auf Bereiche# ?

____
Ein richtiges Problem hat keine Lösung, nur Näherungen!

Beitrag beantworten
 
 Re: Compiler Fehler
Autor: Karl-Jürgen Hilger (---.dyn.telefonica.de)
Datum:   17.09.18 11:31

Ich denke schon, denn 'kreis' wurde, wie jedes Objekt in XProfan, nicht nur als Speicherbereich deklariert, sondern auch durch 'NEW' dimensioniert / initialisiert.
(Man hätte anstatt 'NEW' auch 'DIM' nehmen können, wobei man dann auf die Konstruktor- Automatik verzichtet hätte.)

Damit sind für mich eigentlich alle Bedingungen zum Disposen erfüllt.
Was bringt Dich denn zur Annahme, daß 'kreis' nicht auf einem Speicherbereich basiert? Ist es der Umstand, daß 'kreis' eigentlich nur einen Pointer auf eine Prozedur beinhaltet?

Gruß
KJ



Beitrag beantworten
 
 Re: Compiler Fehler
Autor: p. specht (---.aon.at)
Datum:   17.09.18 15:04

Du hat natürlich recht, ist ja als mem definiert - ich suchte noch nach der alten Form mit Postfix # (Wie schnell Wissen veraltet!!!). Deine Frage richtete sich vermutlich auch direkt an RGH...

____
Ein richtiges Problem hat keine Lösung, nur Näherungen!

Nachricht bearbeitet (17.09.18 15:10)

Beitrag beantworten
 Foren-Liste  |  Baumstruktur   Neuerer Beitrag  |  Älteres Thema 


 Foren-Liste  |  Zur Registrierung 
 Benutzerlogin
 Benutzername:
 Passwort:
 Login-Daten speichern:
   
 Passwort vergessen?
E-Mail-Adresse oder Username unten eingeben. Dann wird Dir per e-Mail ein neues Passwort zugeschickt.

phorum.org