ähhhh ja
ansonsten ginge noch sowas:
Delphi-Quellcode:
type
TMyRefRect = record
private
Data: PRect;
function GetLeft: LongInt;
procedure SetLeft (i: LongInt); // hier dafür sorgen,
function GetTop: LongInt;
procedure SetTop (i: LongInt); // das in Data Speicher
function GetRight: LongInt;
procedure SetRight (i: LongInt); // reserviert ist
function GetBottom: LongInt;
procedure SetBottom(i: LongInt); // und dann eventuell
function GetTopLeft: PPoint; // die empfangenen
function GetBottomRight: PPoint; // Daten eintragen
public
class operator Implicit( Rec: TMyRefRect): TRect;
class operator Implicit(Const Data: TRect): TMyRefRect;
property Left: LongInt read GetLeft write SetLeft;
property Top: LongInt read GetTop write SetTop;
property Right: LongInt read GetRight write SetRight;
property Bottom: LongInt read GetBottom write SetBottom;
property TopLeft: PPoint read GetTopLeft;
property BottomRight: PPoint read GetBottomRight;
Procedure Clear;
Function isSet: Boolean;
end;
Wobei ich hier von der Speicherverwaltung her eher ein Interface statt des interen PRect verwenden
oder einen String (also einfach irgendwas mit Referenzzählung) mißbrauchen würde.