AW: Ableiten von Records
Delphi-Quellcode:
.
property Feld1: Integer read Base.Base.Feld1 write Base.Base.Feld1;
hatte sowas auch mal versucht und bei mir ging es damals irgendwie auch nicht. (nja, die letzen Male, wo ich sowas gätte gebrauchen können, da hab ich eh intervaces genutzt, wo sowieso keine Zugriffe auf Felde möglich sind) PS: Das Inline optimiert den Getter/Setter eh weg. (also bei einem Objekt) |
AW: Ableiten von Records
Zitat:
|
AW: Ableiten von Records
Zitat:
Delphi-Quellcode:
Ob's auch in komplizierteren Fällen compiliert und vor allem auch funktioniert, hab ich jetzt nicht ausprobiert. :mrgreen:
TRecordBase = record
Feld1: Integer; Feld2: string; end; TMyNewRecord = record public Base: TRecordBase; extraData: Byte; property Feld1: Integer read Base.Feld1 write Base.Feld1; end; TMyNewRecord2 = record public Base: TMyNewRecord; extraData: Byte; property Feld1: Integer read Base.Base.Feld1 write Base.Base.Feld1; end; Zitat:
|
AW: Ableiten von Records
Zitat:
|
AW: Ableiten von Records
Hallo,
*thread ausgrab* gab es Verbesserungen in den letzten Delphi bezüglich der Vererbung von Records? |
AW: Ableiten von Records
Ich würde mal sagen, das ist nach wie vor ein Fall für old style objects.
|
AW: Ableiten von Records
Moin Leute :hi:
Entschuldigt, dass ich diesen alten Bug wieder ausgrabe. Ich habe das Thema für meine DLL-Schnittstelle benötigt. Meine Lösung: Eine Include-Datei (DLLdef.inc):
Delphi-Quellcode:
Und den Code in der Unit:
{$IFDEF Ver1}
a : Byte; b : AnsiString; {$ENDIF} {$IFDEF Ver2} c : Byte; d : AnsiString; {$ENDIF} {$IFDEF Ver3} e : Byte; f : AnsiString; {$ENDIF}
Delphi-Quellcode:
Im Code verhält sich das dann wie erwartet.
type
{$DEFINE Ver1} TVer1 = packed record {$INCLUDE DLLdef.inc} end; {$DEFINE Ver2} TVer2 = packed record {$INCLUDE DLLdef.inc} end; {$DEFINE Ver3} TVer3 = packed record {$INCLUDE DLLdef.inc} end; |
AW: Ableiten von Records
Wenn Du statische Include machst... Kannst Du den code auch direkt da hin schreiben...
Das hat nix mit Vererbung zu tun... |
AW: Ableiten von Records
Es hat einen großen Vorteil. Wenn du einen Typen mit 50 Variablen hast und fügst eine an, darf beim Kopieren nichts falsch laufen. Ist da ein Fehler in einer Zwischenversion, suchst du dir 'nen Wolf. Wenn du mit mehreren Include-Datei arbeitest, kannst du sogar eine Hirarchie aufbauen.
Ich weiß, dass es hier keine Vererbung gibt! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:26 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz