Einzelnen Beitrag anzeigen

Flips

Registriert seit: 17. Feb 2005
Ort: Sankt Wendel
491 Beiträge
 
Delphi 7 Professional
 
#3

Re: Record über Klasse für andere Klassen sichtbar machen

  Alt 26. Jan 2007, 20:23
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.
  Mit Zitat antworten Zitat