Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi konstante Arrays unbekannter Länge an Procedure übergeben? (https://www.delphipraxis.net/163967-konstante-arrays-unbekannter-laenge-procedure-uebergeben.html)

iphi 24. Okt 2011 08:00

Delphi-Version: 6

konstante Arrays unbekannter Länge an Procedure übergeben?
 
Hallo,

in meinem Programm habe ich mehrere konstante Arrays unterschieldlicher Länge, die ich je nach Fall als Parameter an eine Prozedur übergeben will.

Wie muss ich die Prozedur deklarieren um darin auf das übergebene konstante Array zugreifen zu können und z.B. dessen Länge bestimmen zu können?

DeddyH 24. Okt 2011 08:05

AW: konstante Arrays unbekannter Länge an Procedure übergeben?
 
IIRC kannst Du den Parameter als Open Array deklarieren. Die Länge bekommst Du mit Length() heraus.
Delphi-Quellcode:
procedure Bla(Dings: array of Typ);
begin
  ShowMessage(IntToStr(Length(Dings)));
end;
Diese Angaben sind ohne Gewähr, versuch halt mal, ob das geht.

iphi 24. Okt 2011 08:45

AW: konstante Arrays unbekannter Länge an Procedure übergeben?
 
Danke, so gehts.
Komisch, ich hatte mir statt dessen einen
Delphi-Quellcode:
TDings = array of Typ
deklariert. Mit dem gings nicht obwohl
Delphi-Quellcode:
TDings
und
Delphi-Quellcode:
array of Typ
ja dasselbe sein sollte.

DeddyH 24. Okt 2011 08:49

AW: konstante Arrays unbekannter Länge an Procedure übergeben?
 
Was Du deklariert hast ist ein dynamisches Array. Das ist aber nicht dasselbe wie ein offenes Array. Etwas Lesestoff dazu findest Du z.B. hier.

iphi 24. Okt 2011 10:23

AW: konstante Arrays unbekannter Länge an Procedure übergeben?
 
Danke für den Link! Jetzt verstehe ich.


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