Ah, das bedeutet ich muss sie also nicht mehr freigeben? Sehr gut
Das mit dem Array hab ich jetzt schon ein wenig genauer lokalisieren können..
Mein jetziges Problem ist "glaube" ich, dass die Procedure irgendwie nur Call by Value ist...?!?
Ich hab jetzt mal fix nen ganz billiges Beispiel gemacht:
Delphi-Quellcode:
unit test;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 =
class(TForm)
Memo1: TMemo;
procedure FormCreate(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
myArray :
array[0..3]
of integer;
implementation
{$R *.dfm}
procedure fill_array(ta:
array of integer; wert:integer);
var i:integer;
begin
for i:=low(ta)
to high(ta)
do
ta[i]:=wert;
end;
procedure TForm1.FormCreate(Sender: TObject);
var i:integer;
begin
fill_array(myArray,2);
for i:=low(myarray)
to high(myarray)
do
Form1.Memo1.Text:=Form1.Memo1.Text+ '
' +(inttostr(myArray[i]));
end;
end.
In der Memo1 steht dann 4x 0! Und keine 2.. Wie kann man das umgehen? Global "kann" ich nicht auf das Array zugreifen, die ich die procedure ja für mehrere Arrays benutzen möchte, sonst müsste ich ja immer wieder eine neue procedure schreiben für jedes array