Sorry, ich muss hier ein paar fundamentale Missverständnisse aufklären...
Die VB Lib IST eine
COM-Lib, VB kann ja gar nix anderes. In VB kann man nichtmal das interface selbst definieren, wodurch Versionierung praktisch unmöglich ist.
IOW: Eine pp, die dein Interface nutzt würde dir nach der Erweiterung desselbigen um die Ohren fliegen, weil VB einfach ncht nur die DispIDs nach der Stellung des Mondes vergibt, auch die reihenfolge der Members ist NICHT sichergestellt.
VB für sowas nutzen zu wollen, und diese fragile und instabile Lösung auch noch als "einfach" anstatt als "vereinfacht bis zum Grade der Nutzlosigkeit" zu bezeichnen kann auch nur einem VB'ler einfallen.
Ich hasse es hier wieder auf Stereotype zurückzukommen, aber VB ist nunmal nur ein erbärmliches Subset von dem was Delphi kann.
IOW: Delphi ist ein Superset von VBs Möglichkeiten. IOW2: Wer VB nutzt, nutzt
immer das falsche Tool.
Delphi kennt Interfaces, und die halten sich in Delphi immer an
COM-Pflichten, ohne dass du selbst durch die schrecklichen Höllen gehen müsstest, die man mit einer
COM-Lib auf sich nehmen würde.
Wenn du deine Interfaces erweitern willst, dann leite einfach ein neues von dem alten ab und implementiere auch das.
Apps oder Plugins, die nur das alte Interface kennen, werden weiterhin funktionieren wie bisher.
Du kannst hier im Forum nach
DLL und Interface suchen und solltest genug Posts von mir und anderen dazu finden.
Plugins ohne Packages, aber mit Interfaces sind absolut kein Problem.
Und wenn man sich einmal in die Verwendung von Interfaces eingearbeitet hat, hat man eine wunderbare Lösung, in der Plugins auch kompatible zu zukünftigen Versionen deiner App sind. Einfach weil du neue Versionen der Interfaces als Ableitungen dieser implementierst.