Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Liste von Records als Funktionsrückgabe (https://www.delphipraxis.net/41261-liste-von-records-als-funktionsrueckgabe.html)

Master_BB 28. Feb 2005 18:52


Liste von Records als Funktionsrückgabe
 
Hy,
ich hab derzeit ein Problem und zwar möchte ich das eines meiner Objekte einen
Teil seiner Daten zusammengefasst in einem Record mittels einer Funktion ausgibt.
Das object ist eine Liste von eigen Objekten. Nun wird für jedes Item der Liste ein Record erstellt.
Aber ich weiß nicht wie ich diese Recordliste zurückgebe. TObjectList kann ich genauso wenig benutzen wie
TList da beide nur von TObject abgeleitete Objekte zusammenfassen können.
Und wenn ich einen Array als Funktionsrückgabe deklariere kommt immer "Identifier expected but "Array" found.
warum läuft das nicht
die deklaration im Object sieht so aus:
Delphi-Quellcode:
function GetTabSheetNamesList : array of TVideoListHeadItem;
ist doch eigentlcih korrekt.
ich möchte auch nicht da der Record nur 2 Daten zusammen fasst kein extra Object mit 2 Propertys dafür aufmachen.
Wenn mir da mal jemand nen tip geben könnte.

Greetz
Master_BB

Luckie 28. Feb 2005 18:54

Re: Liste von Records als Funktionsrückgabe
 
Delphi akzeptiert aber nur einen richtigen Typ als Rückgabedatentyp. Du musst dir also vorher einen eignen Typ deklarieren, den du dann als Rückgabedatentyp angibst.

Master_BB 28. Feb 2005 19:08

Re: Liste von Records als Funktionsrückgabe
 
hm hast du ne bessere lösung einen string mit einem byte in einer flexiblen liste verbunden zurückzugeben?

weil wen ich jetzt
zu
Delphi-Quellcode:
type TVideoListHeadItem = packed record
       Name      : string; //Name des Tabsheets
       ImageIndex : byte;  //für TabSheetImageList Images
end;

//noch hinzufüge
type TVideoListenHeadArray = packed record
        Bla : array of TVideoListenHeadItem;
end;
dann ist das doch eher zu den uneleganteren lösungen zu zählen

Luckie 28. Feb 2005 20:03

Re: Liste von Records als Funktionsrückgabe
 
Delphi-Quellcode:
type
  TVideoListHeadItem = packed record
    Name      : string; //Name des Tabsheets
    ImageIndex : byte;  //für TabSheetImageList Images
end;

type
  TVideoListArray = array of TVideoListHeadItem;
So geht's.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:13 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