hallo
ich habe folgenden code:
Delphi-Quellcode:
type
Tabulator =
record
hwnd: THandle;
// contains handle of a window
P: ^TEButton;
// contains pointer of the tabulator button
end;
...
var
Tabs:
array of Tabulator;
procedure TForm1.AddTab(
name:
String; hwnd: THandle; FormCount: Integer);
var
Current: Integer;
NewButton: TEButton;
begin
// increase pointer array
SetLength(Tabs, Length(Tabs) + 1);
Current := Length(Tabs)-1;
// create button, positionize button
NewButton := TEButton.Create(Form1);
NewButton.Parent := ToolBar1;
NewButton.OnClick := OnTabButtonClick;
Tabs[current].P := @NewButton;
Tabs[current].hwnd := hwnd;
end;
function TForm1.RemoveTab(hwnd: Cardinal): Boolean;
var
I: Integer;
begin
result := false;
for I := 0
to Length(Tabs) -1
do
begin
if Tabs[i].hwnd = hwnd
then
begin
Tabs[i].P^.Caption := '
homo'; <--- Zugriffsverletzung !!!
// Tabs[i].hwnd := 0;
// Tabs[i].P := nil;
result := True;
break;
end;
end;
end;
Habe die Zeile markiert wo ich die "Zugriffsverletzung" erhalte. Irgendwas ist mir noch nicht ganz klar mit pointern...
Kann mit jmd helfen? Warum kriege ich da eine Zugriffsverletzung?