AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Record zu Class umschreiben (Getter/Setter)

Record zu Class umschreiben (Getter/Setter)

Ein Thema von Glados · begonnen am 12. Jul 2017 · letzter Beitrag vom 12. Jul 2017
Antwort Antwort
Glados
(Gast)

n/a Beiträge
 
#1

AW: Record zu Class umschreiben (Getter/Setter)

  Alt 12. Jul 2017, 17: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 17:28 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.352 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Record zu Class umschreiben (Getter/Setter)

  Alt 12. Jul 2017, 18:23
Du musst ein privates Feld fI als Datenspeicher nutzen.
Sorry, ich habe die Änderung übersehen...

Eine Klasse finde ich übersichtlicher, da die Speicherverwaltung m.E. einfacher ist.
Aber das ist vermutlich einfach Geschmacksache (sofern man keine Vererbung oder Interfaces benötigt).
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)

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

n/a Beiträge
 
#3

AW: Record zu Class umschreiben (Getter/Setter)

  Alt 12. Jul 2017, 18:26
Zitat:
Du musst ein privates Feld fI als Datenspeicher nutzen.
Das ist doch schon lange erledigt Habe sogar noch Edit an meinen Beitrag geschrieben
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.352 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Record zu Class umschreiben (Getter/Setter)

  Alt 12. Jul 2017, 18:29
Ja, die Korrektur ist doch auch schon lange erledigt...
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Glados
(Gast)

n/a Beiträge
 
#5

AW: Record zu Class umschreiben (Getter/Setter)

  Alt 12. Jul 2017, 18:30
Dann bleibe ich denke ich bei der Klasse. Denn Records wurden ja per-se nicht dafür erfunden properties reinzuschmeißen.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.374 Beiträge
 
Delphi 12 Athens
 
#6

AW: Record zu Class umschreiben (Getter/Setter)

  Alt 12. Jul 2017, 18:45
Denn Records wurden ja per-se nicht dafür erfunden properties reinzuschmeißen.
Interfaces sind auch nicht erfunden, um Property rein zu werfen.
Property sind dort einfach nur "Views" auf je ein Paar Getter und Setter.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Glados
(Gast)

n/a Beiträge
 
#7

AW: Record zu Class umschreiben (Getter/Setter)

  Alt 12. Jul 2017, 18:49
Ist es möglich eine Klasseninstanz meiner Klasse innerhalb des Initialization-Teils einer Unit zu erstellen? Bisher bin ich irgendwie zu blöd dafür.
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:49 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz