AGB  ·  Datenschutz  ·  Impressum  







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

array of record in class

Ein Thema von LiS · begonnen am 22. Apr 2009 · letzter Beitrag vom 23. Apr 2009
 
blackdrake

Registriert seit: 21. Aug 2003
Ort: Bammental
618 Beiträge
 
Delphi 10.3 Rio
 
#2

Re: array of record in class

  Alt 23. Apr 2009, 01:08
Zeig uns doch ein wenig Quellcode, damit wir dir konkrete Ratschläge geben können.

Records sind übrigens konstrukte, die man idR durch Klassen ersetzt, wenn man 100% OOP programmiert.

Ersetze also erstmal das Record durch eine Klasse. Die Elemente sind dann Felder mit der Sichtbarkeit public. Beachte! Eine Klasse muss in Zukunft erstellt (instanziiert) werden und nicht einfach so wie ein Record verwendet werden.

Vorher:

Delphi-Quellcode:
type
  TKoordinate = record
    x: Integer;
    y: Integer;
  end;

procedure MeineFunktion;
var
  k: TKoordinate;
begin
  k.x := 5;
  k.y := 3;
end;
Nachher:

Delphi-Quellcode:
type
  TKoordinate = class(TObject)
  public
    x: Integer;
    y: Integer;
  end;

procedure MeineFunktion;
var
  k: TKoordinate;
begin
  k := TKoordinate.Create();
  try
    k.x := 5;
    k.y := 3;
  finally
    k.free;
  end;
end;
Bei deiner Verwaltungsklasse sagst du dann einfach sowas:

Delphi-Quellcode:
type
  TKoordinatenArray = array of TKoordinate; // dynamischer Array

  TVerwaltungsklasse = class(TObject)
  private
    meinArray: TKoordinatenArray;
  public
    procedure machWasMitMeinemArray;
  end;

procedure TVerwaltungsklasse.machWasMitMeinemArray;
begin
  //meinArray...
end;
Ich denke, die Deklaration von TKoordinatenArray ist das, was du gesucht hast. Eine solche Typdeklaration ist wichtig, wenn du z.B. einen Array of Irgendwas als Funktionswert zurückgeben willst.

Falsch:

function MyFunction: array of TObject; Richtig:

Delphi-Quellcode:
type
  TObjectArray = array of TObject;

function MyFunction: TObjectArray;
Gruß
blackdrake
Daniel Marschall
  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 18:59 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