Einzelnen Beitrag anzeigen

Glados
(Gast)

n/a Beiträge
 
#15

AW: Record zu Class umschreiben (Getter/Setter)

  Alt 12. Jul 2017, 18:14
Edit
Ok ich habs. Habe Fi: Integer in Private vergessen.
Ich denke ich werde Class verwenden und dann doch hier und da ein wenig umschreiben.
Ich mache es lieber einmal richtig, als dass ich später 100 Fehler drin habe.


Das hier funktioniert jedenfalls nicht

Delphi-Quellcode:
unit classTest_;

interface

uses System.SysUtils;

type
 TTest_ = class
 private
  Fi: Integer; // VERGESSEN!
  Test: TMultiReadExclusiveWriteSynchronizer;
  function Geti: Integer;
  procedure Seti(const Value: Integer);
 public
  constructor Create; overload;
  destructor Destroy; override;

  property i: Integer read Geti write Seti;
 end;

implementation

constructor TTest_.Create;
begin
 Test := TMultiReadExclusiveWriteSynchronizer.Create;
end;

destructor TTest_.Destroy;
begin
 Test.Free;

 inherited;
end;

function TTest_.Geti: Integer;
begin
 Test.BeginRead;
 Result := Fi; // Fi, nicht i
 Test.EndRead;
end;

procedure TTest_.Seti(const Value: Integer);
begin
 Test.BeginWrite;
 Fi := Value; // Fi, nicht i
 Test.EndWrite;
end;

end.
Delphi-Quellcode:
var
 TestInstance: TTest_;
begin
 TestInstance := TTest_.Create;

 TestInstance.i := 123;
 ShowMessage(TestInstance.i.ToString);

 TestInstance.Free;

Geändert von Glados (12. Jul 2017 um 18:28 Uhr)
  Mit Zitat antworten Zitat