Hallo!
Meine Vermutung ist, dass die Zeile
LHandle := (FPlugins.Items[i] as ITWPlugin).Handle;
den Fehler verursacht. Der Referenzzähler müsste beim Ausführen hochgezählt werden und wird wohl erst nach Beenden der Routine frei gegeben.
Versuche es doch einmal so:
Delphi-Quellcode:
...
for i := FPlugins.Count - 1 downto 0 do
begin
LPlugin := (FPlugins.Items[i] as ITWPlugin);
LHandle := LPlugin.Handle;
result.Add(inttostr(LHandle));
FPlugins.Delete(i);
End;
LPlugin := Nil;
...
Getestet habe ich es nicht.