Hier mal wie das Array befüllt und geleert wird. Mag sein, dass die Remove-Methode noch etwas umständlich ist, die hab ich noch nicht überarbeitet, vllt. wird da auch das Array zerschossen?
Delphi-Quellcode:
procedure TTapiLine.AddCall(Call: TTapiCall);
begin
SetLength(priv_Calls,High(priv_Calls)+2); // ***
priv_Calls[High(priv_Calls)]:=Call;
end;
Wenn ich's noch recht in Erinnerung habe, liefert High für Length = 0 Minus Eins zurück.