Thema: Delphi Klassen in DLL

Einzelnen Beitrag anzeigen

Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#21

Re: Klassen in DLL

  Alt 21. Sep 2008, 20:07
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 Hier im Forum suchenDLL 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.
Robert Giesecke
I’m a great believer in “Occam’s Razor,” the principle which says:
“If you say something complicated, I’ll slit your throat.”
  Mit Zitat antworten Zitat