Einzelnen Beitrag anzeigen

nat

Registriert seit: 10. Nov 2005
216 Beiträge
 
RAD-Studio 2009 Pro
 
#5

Re: Objektarray als Rückgabewert einer Funktion

  Alt 20. Nov 2008, 21:52
Zitat von MarvinM:
Delphi-Quellcode:
function TDBAccess.getAllEntries(): Students; //Students ist weiter oben als Typ deklariert
begin
  for i := 0 to 100 do
    Students[i] := TStudent.Create;

  //Ein paar SQL Queries, die den Array füllen
end;
also wenn deine funktion so aussieht, dann is das kein wunder
was ist denn Students[i]? du mußt mit result arbeiten
also so, dass das in etwa so aussieht

Delphi-Quellcode:
function TDBAccess.getAllEntries(): Students; //Students ist weiter oben als Typ deklariert
begin
  setlength(result, 101);
  for i := 0 to 100 do //bzw to length(result)-1
    result[i] := TStudent.Create;

  //Ein paar SQL Queries, die den Array füllen
end;
allerdings finde ich es etwas geschickter die funktion so umzuschreiben
Delphi-Quellcode:
function TDBAccess.getAllEntries(var Output: Students): integer
begin
setlength(Output, 101);
....

result := length(Output);
end;
edit:
kein roter kasten mehr? naja...
  Mit Zitat antworten Zitat