AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Record als Property beschreiben?

Ein Thema von divBy0 · begonnen am 3. Nov 2009 · letzter Beitrag vom 3. Nov 2009
Antwort Antwort
Benutzerbild von divBy0
divBy0

Registriert seit: 4. Mär 2007
Ort: Sponheim
1.021 Beiträge
 
Delphi XE2 Professional
 
#1

Record als Property beschreiben?

  Alt 3. Nov 2009, 10:55
Hallo,

ich habe ein allgemeine Frage.

In folgender Klasse

Delphi-Quellcode:
TSpsData = class(TObject)
    CycleTime: Cardinal;
    Counter1: Integer;
    Counter2: Integer;
  end;

  TSpsTest = class(TThread)
  private
    { Private-Deklarationen }
    FDataRead: TSpsData;
    FDataWrite: TSpsData;
  public
    property DataRead: TSpsData read FDataRead;
    property DataWrite: TSpsData read FDataWrite write FDataWrite;
  end;
lege ich alle Variablen in ein Objekt, damit ich diese mit einem Property beschreiben kann. Wieso kann man denn da eigentlich keinen Record angeben?
Marc
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt, die 10. summt die Melodie von Tetris... | Wenn das die Lösung ist, dann hätte ich gerne mein Problem zurück! | engbarth.es
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Record als Property beschreiben?

  Alt 3. Nov 2009, 11:03
Hallo,

etwas schwer verständlich,
aber besser kann ich es auch nicht erklären

1


Heiko
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Record als Property beschreiben?

  Alt 3. Nov 2009, 11:17
kurz gesagt: sowas ist bedingt (also fast nie) möglich

Du kannst nur ganze Records zuweisen, abe keine einzelnen Recordteile.

Delphi macht aus (unter der Voraussetzung TSpsData ist ein Record)
SpsTest.DataWrite.Counter2 := x;
Delphi-Quellcode:
property DataWrite: TSpsData read FDataWrite write GetDataWrite;
// GetDataWrite = 'nen symbolischer Getter, damit man es besser erkennt

SpsTest.GetDataWrite.Counter2 := x;

bzw.

InternalTempVar := SpsTest.GetDataWrite;
InternalTempVar.Counter2 := x;
Delphi spricht entwder den Setter oder den Getter an ... niemals Beides (leider).
da hier praktisch zuerst gelesen wird, wird auch nur der Getter genutzt
und da hier nur eine TempVariable geändert wird, landen die Daten nie in der Klasse.
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von divBy0
divBy0

Registriert seit: 4. Mär 2007
Ort: Sponheim
1.021 Beiträge
 
Delphi XE2 Professional
 
#4

Re: Record als Property beschreiben?

  Alt 3. Nov 2009, 11:22
Danke, das habe ich gestern bei meiner Suche nicht gefunden.

Dann bleibt TSpsData eine Klasse, damit funktioniert es ja. Es hatte mich gestern echt verwirrt, dass das nicht funktioniert.
Marc
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt, die 10. summt die Melodie von Tetris... | Wenn das die Lösung ist, dann hätte ich gerne mein Problem zurück! | engbarth.es
  Mit Zitat antworten Zitat
Antwort Antwort


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 22:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz