Nee, die Fehler sind ja scheinbar schon behoben und glaubt denn wirklich jemand, daß es für XE3/XE4 noch Bugfixes geben wird?
Ich hab den Code noch drin, und hab das Schritt für Schritt aktiviert und diesesmal knallte es gleich bei der zweiten Verwendung.
Das ändert sich gern mal und es ist nicht erkennbar, warum/wann es passiert ... ist fast wie bei den erühmten Internen-Compiler-Fehlern, welche auch mal verschwinden, wenn man irgendwo eine Leerzeile einfügt.
Delphi-Quellcode:
// Kurzfassung, ohne Dokumentation und so
{$IF CompilerVersion < 27} // kann auch 26 (XE5) sein, aber das konnte ich nicht testen
{$DEFINE SCHROTTIGERTTI}
{$IFEND}
type
EOTAException = class(ENonAIRException);
OTAIntfAttribute = class(TCustomAttribute);
NoOTAIntfAttribute = class(TCustomAttribute)
ExternalIntf: Boolean;
constructor Create(ExternalIntf: Boolean=False);
end;
TOTARegisterMode = (AsClass, AsComponent, NoIconComponent);
OTARegisterAttribute = class(TCustomAttribute) // RegisterClass, RegisterComponent, RegisterNoIcon
Mode: TOTARegisterMode;
constructor Create(AsClass: Boolean=False); overload;
constructor Create(Mode: TOTARegisterMode); overload;
end;
OTAPropCatAttribute = class(TCustomAttribute) // SetPropertyCategory
Category, Properties: string;
constructor Create(Category: string; Properties: string);
end;
ROAttribute = class(TCustomAttribute);
Und da, wo es knallt, ist nichtmal etwas "Schlimmes" bei:
Delphi-Quellcode:
type
{$IFNDEF SCHROTTIGERTTI}[NoOTAIntf, OTARegister]{$ENDIF}
TOTAModuleEvents = class(TOTABase)
end;
Wenn ich das auskommentiere, dann knallt es irgendwann später irgendwo und
manchmal meistens gehen genau solche Zeilen problemlos durch.
Anfangs dachte ich, das liegt eventuell an den Parametern oder dem überladenen Consructor, aber selbst wo ich die mal alle ausgbaut hatte und es Ohne versuchte, da knallte es irgendwann dennoch wieder.
Also, ich hab's noch nicht aufgegeben, aber aktuell ist es für mich leider nicht nutzbar und nach mehreren Tagen genervtem Rumprovieren hatte ich's dann einfach vor'm Compiler versteckt.