Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Variable Übergabeparameter (https://www.delphipraxis.net/79784-variable-uebergabeparameter.html)

Dax 30. Sep 2007 16:42

Re: Variable Übergabeparameter
 
Zitat:

Zitat von xZise
Ich wollte eine folgende Funktion schreiben:
Delphi-Quellcode:
procedure changeItemsnum(vArray : ??? ; vItems : Integer);
begin
  SetLength(vArray, Length(vArray) + vItems);
end;

Das ist so einfach nicht möglich. Du müsstest in diesem Fall einen Pointer auf dein Array liefern, die Typeinfos, die zum Array gehören, und die Zahl der Elemente. Mit const-Parametern geht es schon mal garnicht, da diese nicht verändert werden können.

Am besten siehst du dir mal die RTL-Quellen von SetLength an, damit du siehst, wie schwer sowas ist ;)

Khabarakh 30. Sep 2007 17:36

Re: Variable Übergabeparameter
 
@xZise: Hm, was hast du denn gegen T(Object)List ;) ?
Du könntest natürlich auf Tiburón warten und schauen, ob es dann mit dessen Generics zu lösen ist :mrgreen: (was ich aber nicht erwarte) - aber ein Array ist hier einfach der falsche Ansatz, eine Liste dagegen dafür geschaffen.

xZise 30. Sep 2007 17:42

Re: Variable Übergabeparameter
 
Zitat:

Zitat von Khabarakh
Du könntest natürlich auf Tiburón warten und schauen, ob es dann mit dessen Generics zu lösen ist :mrgreen: (was ich aber nicht erwarte)

Würden jbgs Generics auch in TD-E laufen hätte ich das Problem nicht :(

Zitat:

Zitat von Khabarakh
aber ein Array ist hier einfach der falsche Ansatz, eine Liste dagegen dafür geschaffen.

Weil, ich dann im Hintergrund eine Liste halten müsste. Und ich denke Arrays sind einfacher zu handeln ;) Bis eben auf das hinzufügen, entfernen, einfügen von informationen. Da versagt es ^^ Vielleicht sieht das CodeGear eine möglichkeit (Variable Arrays zu übergeben & editieren) :)

Dax 30. Sep 2007 18:23

Re: Variable Übergabeparameter
 
Zitat:

Zitat von xZise
Weil, ich dann im Hintergrund eine Liste halten müsste.

Welche Eigenschaften von Arrays wiegen die Vorteile einer Liste wie einfaches Einfügen und Entfernen von Elementen, Iteratoren usw. wieder auf?


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:55 Uhr.
Seite 2 von 2     12   

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