AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Verzeichniss abbilden...

Ein Thema von Teekeks · begonnen am 27. Aug 2009 · letzter Beitrag vom 30. Aug 2009
Antwort Antwort
Seite 2 von 2     12
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#11

Re: Verzeichniss abbilden...

  Alt 29. Aug 2009, 22:49
Zitat von himitsu:
wie legst du denn mehrere Werte pro Eintrag in TList ab?
(in einem Record)
In einem Objekt.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Teekeks

Registriert seit: 19. Okt 2008
Ort: Dresden
765 Beiträge
 
FreePascal / Lazarus
 
#12

Re: Verzeichniss abbilden...

  Alt 30. Aug 2009, 06:59
Aber verbraucht ein record nicht weniger Speicher als eine Klasse?
Peter
"Div by zero Error" oder auch: "Es geht auch ohne Signatur!".
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

Re: Verzeichniss abbilden...

  Alt 30. Aug 2009, 08:22
jupp

wenn du (Luckie) auf Setter/Getter hinaus willst, das geht auch mit Records

und außerdem nimmt man dann doch keine TList, sondern eine TObjectList
TList > Records ... TObjectList > Objekte

PS: ein Objekt besteht ja im Prinzip auch nur aus ein paar etwas größeren Records

der harte Kern von diesem
Delphi-Quellcode:
Type TMyObject = Class
  Private
    FField1: Integer;
    FField2: String;
    FField3: Pointer;
    Procedure SetField2(Const Value: String);
  Public
    Property Field1: Integer Read FField1 Write FField1;
    Property Field2: String Read FField2 Write SetField2;
    Property Field3: Pointer Read FField3;
  End;
ist ja wohl sowas
Delphi-Quellcode:
Type PMyVirtualObject = ^VMyVirtualObject;
  VMyVirtualObject = Record
    FField1: Integer;
    FField2: String;
    FField3: Pointer;
  End;

  TMyVirtualObject = Record
  Private
    FData: PMyVirtualObject;
    Procedure SetField2(Const Value: String);
  Public
    Function Create: TMyVirtualObject;
    Procedure Free;

    Property Field1: Integer Read FData.FField1 Write FData.FField1;
    Property Field2: String Read FData.FField2 Write SetField2;
    Property Field3: Pointer Read FData.FField3;
  End;

Procedure TMyVirtualObject.SetField2(Const Value: String);
  Begin
    If Value <> 'Then FData.FField2 := Value;
  End;

Function TMyVirtualObject.Create: TMyVirtualObject;
  Begin
    New(Result.FData);
  End;

Procedure TMyVirtualObject.Free;
  Begin
    If Assigned(FData) Then Dispose(FData);
  End;
Delphi-Quellcode:
Var O: TMy_Object;

O := TMy_Object.Create;
O.Field2 := 'abc';
O.Free;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
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 15:33 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