Hi.
Das geht schon, bei mir jedenfalls wenn ich das Problem richtig verstanden habe.
Probier mal das:
Delphi-Quellcode:
type
TIntervall = record
PosX : Integer;
PosY : Integer;
NegX : Integer;
NegY : Integer;
end;
type
TMyClass = class
private
FIntervall : TIntervall;
public
property Intervall : TIntervall read FIntervall write FIntervall;
end;
[...]
var
Meins: TMyClass;
buffer : TIntervall;
begin
Meins := TMyClass.Create;
try
Buffer.PosX := 5;
Meins.Intervall := Buffer;
ShowMessage(IntToStr(Meins.Intervall.PosX));
finally
Meins.Free;
end;
Bei mir gibt er dann die gewünschte '5' aus.
[Edit=Versuche eine Begründung]
Ich glaube es liegt daran, dass du mit
(Meins.Intervall.PosX := 5)
nichts erreichen wirst, weil die Property ja nur für den Record allgemein gilt und nicht für dessen Variablen.
Wenn du stattdessen einen ganzen Record übergibst
(Meins.Intervall := Buffer
in welchem die gewünschten Variablen drin sind, dann kann die Property das auch verarbeiten, da sie auch für den Record-Typ ausgelegt ist.
[/Edit]
Philipp F.