Hallo,
ich habe auch mal eine Frage zu diesem Thema. Ich hatte anfangs das gleiche Problem wie oben. Mein Problem ist jetzt aber, dass die Funktion, die mir das Result zurückgeben soll, in einer anderen
Unit liegt als die Prozedur, die das Array empfangen soll und, dass die Prozedur irgendwie nicht die Daten empfängt.
Die
Unit, in der die Funktion liegt, heißt bei mir DBQuery.
Die
Unit, die empfangen soll, heißt Adressbuch.
Habe Code in DBQuery folgendermaßen:
Code:
type
TArray = array of array of string;
[...]
function TDBQuery.Query(SQLQuery: PChar): TArray;
//Zum Testen gibt sie nur ein Multidim. Array zurück.
var
Data: TArray;
begin
SetLength(Data, 1, 3);
Data[0, 0] := 'test';
Data[0, 1] := 'test';
Data[0, 2] := 'test';
result := Data
end;
In Adressbuch steht folgender Code:
Code:
type
TArray2 = DBQuery.TArray;
[...]
procedure TFrmAdressbuch.EintraegeAnzeigen;
var
EArray: TArray2;
begin
SetLength(EArray, 1, 3); // Ist dieser Schritt nötig?
EArray :=
Query.Query;
ShowMessage(EArray[0, 0]); // Ist Leer!! :-(
end;
So mein Problem ist also, dass EArray leer ist und darin keine Daten sind. Könnt ihr mir bitte helfen und mir sagen, wo der Fehler ist??
Vielen Dank im Voraus, Moritz.