Einzelnen Beitrag anzeigen

Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#10

Re: Spezielle Konstruktion funktioniert in D2005 nicht mehr

  Alt 26. Dez 2004, 08:37
Zitat von Robert Marquardt:
Eine virtuelle abstrakte Klassen-Methode? Das ist doch ein bischen widersinnig. Auf jeden Fall etwas ueberdesignt. Entweder hat man Klassenmethoden, dann ist die Property zuviel, oder umgekehrt.
Ja der Code ist schon etwas älter und es gibt sicher wege, das ganze eleganter und evtl. auch besser zu lösen, aber es geht mir darum, dass der Code unter D7 einwandfrei und korrekt funktioniert hat und in D2005 halt nicht mehr

Zitat von Bernhard Geyer:
Evtl. kannst Du vor den Property auch noch das Schlüsselwort class setzen, damit der Compiler weiß das wirklich alles sich auf die Klasse und nicht auf Instanzen bezieht. (Klassen-Member sollten mit D2005 jetzt erlaubt sein).
Wenn ich "class property" schreibe, erhalte ich folgende Meldung:
Zitat:
[Fehler] uAppCipherClass.pas(30): E2355 Für den Zugriff auf Klasseneigenschaften muss ein Klassenfeld oder eine statische Klassenmethode verwendet werden
Also scheint D2005 für class properties wohl keine virtuellen bzw. virtuell abstrakten Klassenmethoden zuzulassen.

Zitat von Bernhard Geyer:
Ich denke mal der neue Compiler ist hier etwas strenger.
So ist er überfordert. Ist das Property nun Klassen- oder Instanzabhängig.
Was hat den der alte Compiler gemacht? Wurden die Properties der Klasse zugeodnet (Alle Instanzen hatten den selben Wert) oder den Instanzen (Die class-Angaben wurden ignoriert).
Ja, das wird wohl so sein (... oder doch ein "Bug"?), aber wieso hatte D7 das noch richtig gemacht bzw. es akzeptiert (D2005 hat ja für den Win32 Teil "nur" ein veränderten D7 Compiler) und jede Instanz hatte den selben Wert (also die properties waren der Klasse zugeordnet)?

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat