Delphi-Quellcode:
type
TPhysicalCharWidth = Byte;
TPhysicalCharWidths = Array of TPhysicalCharWidth;
PPhysicalCharWidth = ^TPhysicalCharWidth;
procedure Proz(p:Pointer;len:Integer);
var
i:Integer;
begin
for I := 0 to len - 1 do
TPhysicalCharWidths(p)[i] := TPhysicalCharWidths(p)[i] - 17;
end;
procedure TForm3.Button1Click(Sender: TObject);
var
I: Integer;
P: PPhysicalCharWidth;
T: TPhysicalCharWidths;
begin
SetLength(t,10);
for i := Low(t) to High(t) do
begin
t[i] := i + 17;
Memo1.Lines.Add(IntToStr(t[i]));
end;
Proz(@T[0],Length(t));
Memo1.Lines.Add('Nach Proz');
for i := Low(t) to High(t) do
begin
Memo1.Lines.Add(IntToStr(t[i]));
end;
end;
irgendwo ist jetzt ein Konten drin ... ich lege keine Kopie an und kann zurückschreiben, wo ist mein Denkfehler?