Hallo!
Ich habe folgendes Problem:
Mein Programm hat zwei Klassen. In KlasseA soll folgendes passieren:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| procedure KlasseA.test; var einArray : Array of String;
begin fueller := Klasse2.create(); fueller.arrayFuellen(einArray); end; |
In der zweiten Klasse brauche ich folglich eine Prozedur, die dem dynamischen Array eine Länge zuweist und es anschließend füllt:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| procedure Klasse2.arrayFuellen(anArray: Array of String); var i : Integer;
begin ...
SetLength(anArray, query1.fieldCount);
for i := 0 to (Query1.fieldCount) do begin anArray[i] := Query1.fields.Fields[i].AsString; end; |
Die Anweisung setLength in der zweiten Klasse löst allerdings beim kompilieren den Fehler 'inkompatible Typen' aus. Hat jemand eine Lösung zu dem Problem?
Gruß,
Kulmi
PS: Editiert um die zweite Prozedur nachzuliefern, sorry...