![]() |
Array an Funktion übergeben: Problem!
hi,
ich übergebe an eine funktion wie folgt ein dynamisches array vom typ TZeichenkette:
Code:
beim versuch, dies zu compilern kommt folgender fehler: "E2008 Inkompatible Typen" in jeder zeile wo setlength steht.
procedure AnzahlBuchstabenkette(txt: String; var arr: array of TZeichenkette; zahl, maximal: Byte);
begin SetLength(arr, 0); //... weiterer Code... end; was ist denn verkehrt? |
Re: Array an Funktion übergeben: Problem!
Ich denke das liegt an deinenm TZeichenkette, zeig mal den Codeschnipsel wo du dieses deklarierst, da liegt vermutlich der Hund begraben :lol:
Gruß Matthias |
Re: Array an Funktion übergeben: Problem!
daran dürfte es nicht liegen, denn wenn ich gleich den namen der globelen variable statt der übergebenen eingebe klappt es... aber bitte:
Code:
TZeichenkette = class(TObject)
Signs: String; Anzahl: Integer; private { Private-Deklarationen } public { Public-Deklarationen } end; bittte helfen!!! EDIT: hab ne lösung gefunden... array of TZeichenkette als typ deklarieren... aber wieso läuft meine ursprüngliche lösung nicht? |
Re: Array an Funktion übergeben: Problem!
Schau mal in der Hilfe unter Parameter. Die Konstruktion, die du verwendet hast, ist ein "offener Array-Parameter", und damit gehen gewisse Dinge nunmal nicht.
|
Re: Array an Funktion übergeben: Problem!
Du musst dir erst einen Typ definieren, der nicht als offen missverstanden werden kann
Delphi-Quellcode:
und dann diesen Typ nehmen.
TZeichenkettenArray=Array of TZeichenkette;
|
Re: Array an Funktion übergeben: Problem!
Und damit man sich diese Unart der dynamischen Arrays an unsinnigen Stellen erst gar nicht angewöhnt: hier wäre eine TObjectList viel besser geeignet (und man braucht nicht mal var, es reicht sogar ein const)...
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:05 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