![]() |
Viele Daten per Function übergeben
Heyho,
meine situation sieht etwa wie folgt aus: (habe 2 Klassen) HauptKlasse:
Delphi-Quellcode:
mObject:
unit mMain;
interface uses mObject; type TMain = class private Objects: Array[1..10] of TObject; public prucedure DatenAusgeben; end; implementation [...] {Es wurde mindestens 1x TObject createt} procedure DatenAusgeben; begin ???:=Object.Daten; {hier kommt dann die ausgabe in listbox o.ä.} end; end.
Delphi-Quellcode:
wie ihr seht habe ich einiges an daten in meinem Object, und ich würde gerne alles auf einmal raus holen.
unit mObject;
interface type TObject = class(TObject) private a, b, c: integer; d: Array[1..20] of integer; e: array[0..20] of String[17]; public function Daten: ???; end; implementation [...] function Daten: ???; // <--- hier is das problem begin ??? end; end. Ich hab shcon versucht einen array oder eine menge als functionstyp zu wählen, aber irgendwie ist delphi mit dieser methode nicht vertraut :warn: also, falls irgendjemand da nen lösungsanschlag (für einen blutigen anfänger) parat hat, ich wäre sehr dankbar!! |
Re: Viele Daten per Function übergeben
Hai everdream,
deklariere Dir einen Typ für dein Array. Dann kannst Du diesen auch als Ergebnisstyp einer Funktion angeben. HauptKlasse:
Delphi-Quellcode:
Wobei Du anstelle eines Array of TObject auch einfach eine
unit mMain;
interface uses mObject; type TArrayOfObject = Array[1..10] of TObject; TMain = class private Objects: TArrayOfObject; public prucedure DatenAusgeben; end; implementation . . . function Daten: TArrayOfObject; begin ??? end; end. ![]() |
Re: Viele Daten per Function übergeben
Wie wäre es mit einem Variant:
Delphi-Quellcode:
Und Abrufen geht so;
Type
TMyObject = Class fString1, fString2 : String; fInteger : Integer; fMyFloat : Double; Public Function Data : Variant; End; Procedure TMyObject.Data : Variant; Begin VarArrayCreate (Result, [0,3]); // Ich glaube so gehts Result [0] := fString1; Result [1] := fString3; Result [2] := fInteger; Result [3] := fMyFloat; End;
Delphi-Quellcode:
Var
MyData : Variant; Begin MyData := MyObject.Data; // Und Zugriff über String1 := MyData[0]; // etc. |
Re: Viele Daten per Function übergeben
Hi,
hallo Leute, warum so kompliziert. Wie wäre es denn mit einem einfachen Record ? Er will ja die Daten der einzelen Objekte haben. und btw. Wieso heist die Klasse
Delphi-Quellcode:
? geht das überhaupt ?
TObject= Class(TObject)
Ich tendiere ja eher dazu dann
Delphi-Quellcode:
zu sagen. Oder einfach
TMyObject = class(tObject)
Delphi-Quellcode:
TMyObject=class
|
Re: Viele Daten per Function übergeben
Zitat:
|
Re: Viele Daten per Function übergeben
okay, danke für eure tipps, habt mir damit sehr geholfen!
ich werde wohl einen record bzw variants benutzen. eine eigene klasse erstellen: da blick ich noch nicht ganz wie das gemeint ist, aber mehr als nen einheitlichen record brauche ich auch für mein proggi nicht. nochmal vielen dank :bounce1: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:51 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