AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Wie eigenen Record definieren und verwenden?
Thema durchsuchen
Ansicht
Themen-Optionen

Wie eigenen Record definieren und verwenden?

Ein Thema von TonyMontana · begonnen am 15. Jan 2008 · letzter Beitrag vom 16. Jan 2008
 
TonyMontana
(Gast)

n/a Beiträge
 
#9

Re: Wie eigenen Record definieren und verwenden?

  Alt 15. Jan 2008, 20:48
Zitat von DeddyH:
Wenn Du mit Instanzen von Klassen arbeiten willst, solltest Du statt eines Records eine eigene Klasse definieren, die sich um die einzelnen Instanzen kümmert.
Was meinst du damit, dass sich die Klasse um die einzelnen Instanzen kümmert? Bedeutet das, dass die Klasse dann automatisch Speicher reserviert und freigibt oder muss ich dann in dieser neuen Klasse TMyRec, abgeleitet von TObject, dann noch den Constructor und Destructor überschreiben?

Bisher sah das ganze ja so aus:
Delphi-Quellcode:
type
  TMyRec = record
  Value : Integer;
  Text : String;
  StringList : TStringList;
end;
Wie sähe dann eine Klasse aus, die oben stehende Felder bereitstellt?

Das ist warscheinlich kompletter unsinn:
Delphi-Quellcode:
type
  TMyRec = class(TObject)
private
  mrValue: Integer;
  mrText: String;
  mrStringList: TStringList;
public
  property Value: Integer read mrValue write mrValue;
  property Text: string read mrText write mrText;
  constructor Create;
  destructor Destroy;
end;

implementation

constructor TMyRec.Create;
begin
 inherited;
 // mrStringList Speicher reservieren?
end;

destructor TMyRec.Destroy;
begin
// mrStringList Speicher freigeben
inherited;
end;
Property für mrStringList fehlt, ich habe mal angenommen man setzt sowas wie mr vor die Felder um die zugehörigkeit zu verdeutlichen, mr steht für MyRec...
Wie reserviere ich den Speicher jetzt im Constructor bzw. gebe ihn im Destructor wieder frei?

Oder ist das nicht möglich oder empfehlenswert?

Ich bin ratlos.

Edit: Das mit der Compilermagic habe ich irgednwie nicht verstanden, was ist das? Also im Prinzip meinst du damit, dass ich nicht merke, dass ich mit Zeigern arbeite, oder?
Ist dann also jedes Feld eines Objekts ein Zeiger? Warum muss ich dann für den String und den Integer keinen Speicher reservieren?
Ich meine, beim Integer kann ich mir denken, dass automatisch speicher reserviert werden kann, ein integer hat ja eine feste größe aber die Strings können doch soweit ich weiß fast beliebig groß sein.
  Mit Zitat antworten Zitat
 


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 06:36 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