Einzelnen Beitrag anzeigen

Shakyamuni

Registriert seit: 30. Apr 2008
9 Beiträge
 
#1

function mit Array - trotz gleichen Typs "Inkompatible Typen"

  Alt 10. Mär 2011, 13:19
Delphi-Version: 5
Hallo alle zusammen!
Nach ganz langer Zeit habe ich mich dazu entschieden, wieder mal etwas in Delphi zu schreiben und hab als Fingerübung mit einem rekursiven Mergesort angefangen. Nun will allerdings Delphi nicht so wie ich. Zum Testen habe ich ein kleines Beispiel gemacht um zu überprüfen, ob das in dem speziellen Fall so ist oder ob ich das generell falsch implementiere. Der Output ist konsequent 'Inkompatible Typen'.
Die SuFu habe ich bereits ausgiebig genutzt, ebenso Google und Konsorten. Jede Erklärung erscheint mir schlüssig und ich habe es genauso gemacht, wie die Fehlerbehebung beschrieben wird, aber der Fehler taucht dennoch auf.

Bitte erbarmet euch, ihr Delphi-Coder, und helft einem Delphi-Anfänger


Hier einmal der Quellcode:
(Ja, er ist nicht hübsch und auch nicht gut benannt et cetera - es war auch nur eine schnelle Anwendung um zu überprüfen, ob es an mir liegt oder an Delphi. Ich schätze mal es liegt an mir und ich habe irgendeinen Hinweis im Forum dazu überlesen.)
Delphi-Quellcode:
type
  TArray = array of integer;

procedure TForm1.Button1Click(Sender: TObject);
var
  dan,stan: array of integer;
  k: integer;
begin
  SetLength(dan,ListBox1.Items.Capacity);
  SetLength(stan,ListBox1.Items.Capacity);
  for k:=0 to ListBox1.Items.Capacity-1 do
    dan[k] := StrToInt(ListBox1.Items[k]);
  stan := up(dan);
  for k:=0 to ListBox1.Items.Capacity-1 do
    ListBox2.Items.Add(IntToStr(stan[k]));
end;

function TForm1.up(i: array of integer):TArray;
var
  k: integer;
begin
  for k:=0 to High(i)-1 do
    Result[k] := 2*i[k];
end;

Geändert von Shakyamuni (10. Mär 2011 um 14:26 Uhr)
  Mit Zitat antworten Zitat