2009-04-22 8 views
2

Jetzt, wo ich mehr über die Entwurfszeitaspekte der Komponentenentwicklung lerne, habe ich einige IDE-Plugins für Delphi 2007 (+ andere wenn kompatibel.Verteilen eines Entwurfszeitpakets mit UI-Elementen von Drittanbietern

Die Formulare/UI für diese wird im Idealfall einige der Komponenten von Drittanbietern verwenden, die ich regelmäßig verwende. Angenommen, die Lizenzierung ist in Ordnung, um diese Komponenten für ein IDE-Plug-in usw. zu verteilen. Was muss ich anders tun, um das Distributionspaket vorzubereiten, im Vergleich zu dem, was man für ein Paket mit "vollständiger Quelle" tun würde?

(Ich hoffe diese Frage macht Sinn. Bitte seien Sie nett und stellen Sie Fragen, wenn nicht).

Antwort

3

Sie müssen die BPL kompilieren für jede Version von Delphi, die Sie unterstützen (Version + Update) und dann nur die BPL verteilen. Richten Sie eine virtuelle Maschine ein, um sie zu testen. Die BPL ist eine spezielle DLL, Sie verteilen also nur eine Binärdatei, die mit Ihren Lizenzen funktionieren sollte.

Die Verteilung der .PAS oder .DCU würde höchstwahrscheinlich gegen die Lizenzvereinbarung verstoßen.

1

Verteilen Sie diese Komponenten nicht in Ihrem Entwurfszeitpaket. Es wird Ihnen und Ihren Kunden Kopfschmerzen bereiten, wenn Ihre Kunden diese Komponenten in ihren eigenen Projekten verwenden möchten. Wenn Sie die Einheiten dieser Komponenten in Ihr Design-Time-Paket aufnehmen, können Ihre Kunden auch keine eigene Kopie dieser Komponenten in der Tool-Palette installieren, da jeweils nur eine Kopie einer Einheit geladen werden kann.

Die von Ihnen verwendeten Komponenten sollten bereits in einem Laufzeitpaket von ihrem Hersteller enthalten sein. Setzen Sie , dass Paket in Ihrem Design-Time-Paket "erfordert" -Liste. Verteilen Sie nur die Datei .bpl; Ich denke, Sie können es im selben Verzeichnis wie Ihr Design-Time-Paket installieren.

Dieses Laufzeit-Paket wird auch eine Anforderung von Design-Time-Paket sein, was Ihre Kunden in ihrer IDE installiert haben.

+1

Dies löst leider nicht das Problem, dass der Komponentenherausgeber eine aktualisierte .bpl veröffentlichen könnte, die die gleichen Einheitennamen enthält, aber mit der alten .bpl nicht kompatibel ist. In diesem Fall wird Delphi entweder die Komponenten oder das Plugin aufgrund von doppelten Gerätenamen oder fehlenden Einstiegspunkten nicht laden. – dummzeuch

+0

Das Risiko, dass der Hersteller eine neue BPL veröffentlicht, die mit früheren Releases nicht kompatibel ist, ist immer vorhanden, aber es ist auch die Schuld des Anbieters, dass er bestehende BPL-Konsumenten durch Entfernen von einer veröffentlichten Schnittstelle entfernt. –

2

Sie werden wahrscheinlich feststellen, dass dies alle möglichen Probleme verursacht.

GExperts macht es anders. Es ist eine DLL, die statisch mit Steuerelementen von Drittanbietern verknüpft und nur auf Delphi-eigene Laufzeitpakete verweist. Dies kann zu keinen Konflikten mit anderen Paketen führen, da die statisch verknüpften Einheiten für die IDE nicht sichtbar sind. Es bedeutet auch, dass GExperts keine Laufzeitpakete verteilen muss.