Ich kann so keinen direkten Fehler in deinem Code erkennen.
Die Boot()-Funktion ist korrekt.
Vielleicht ist der Fehler innerhalb der Interface-Methode .LoadPlugins() zu suchen.
Delphi-Quellcode:
dc := TPluginDeliveryClasses.Erzeugen;
pm := proc(
dc);
Assert(Assigned(pm));
// sicherstellen, dass der interface pointer gefüllt ist
pm.Test;
// einfache Testmethode, die nur über MessageBox einen Text ausgibt
pm.LoadPlugins; <-------- Hier machts Peng!!
Ich finde dein Plugin-System mit Packages etwas verwirrend; aber das nur nebenbei.
Man kann das mit ActiveX-DLLs viel einfacher und übergreifend für alle Prog.-Sprachen machen.