2009-04-22 2 views
2

Maintenant que j'apprends davantage sur les aspects du développement de composants liés au design, j'ai peut-être quelques "plugins" IDE ciblant Delphi 2007 (+ d'autres si compatible). Les formulaires/IU pour ceux-ci, idéalement, utiliseront certains des composants de tiers que j'utilise régulièrement. En supposant que la licence est correcte pour distribuer ces composants pour un plugin IDE, etc., que dois-je faire différemment pour préparer le paquet de distribution, par rapport à ce que l'on ferait sur un paquet avec "full source"?Distribution d'un package au moment de la conception avec des éléments d'interface utilisateur tiers

(J'espère que cette question a du sens.S'il vous plaît soyez aimable et posez des questions si non).

Répondre

3

Vous devez distribuer la BPL compilée pour chaque version de Delphi que vous allez prendre en charge (Version + Update) et ne distribuer que la BPL. Configurez une machine virtuelle pour la tester. La BPL est une DLL spéciale, vous distribuez donc uniquement un binaire, ce qui devrait fonctionner avec vos licences.

La distribution du .PAS ou du .DCU violerait le contrat de licence le plus probable.

1

Ne distribuez pas ces composants dans votre package au moment du design. Cela causera des maux de tête pour vous et vos clients si vos clients veulent également utiliser ces mêmes composants dans leurs propres projets. Si vous placez les unités de ces composants dans votre package au moment de la conception, vos clients ne pourront pas également avoir leur propre copie de ces composants installée dans la palette d'outils car une seule copie d'une unité peut être chargée à la fois.

Les composants que vous utilisez doivent être déjà fournis dans un package d'exécution de leur fournisseur. Mettez ce package dans la liste "requires" de votre package de conception. Distribuer le fichier .bpl uniquement; Je pense que vous pouvez l'installer dans le même répertoire que votre paquet au moment du design.

Ce package d'exécution sera également requis par le package de conception du fournisseur , qui correspond à ce que vos clients auront installé dans leur IDE.

+1

Cela ne résout malheureusement pas le problème que l'éditeur de composant pourrait publier un .bpl mis à jour qui contient les mêmes noms d'unité mais est incompatible avec l'ancien .bpl. Dans ce cas, Delphi refusera de charger les composants ou le plugin à cause de noms d'unités en double ou de points d'entrée manquants. – dummzeuch

+0

Le risque que le fournisseur publie un nouveau BPL incompatible avec les versions précédentes est toujours présent, mais c'est aussi la faute du fournisseur de casser les consommateurs existants de la BPL en supprimant quelque chose d'une interface publiée. –

2

Vous trouverez probablement que cela provoque toutes sortes de problèmes.

GExperts le fait différemment. Il s'agit d'une DLL qui lie statiquement à des contrôles tiers et ne référence que les propres packages d'exécution de Delphi. Cela ne peut pas provoquer de conflits avec d'autres packages car les unités liées statiquement ne sont pas visibles par l'EDI. Cela signifie également que GExperts n'a pas besoin de distribuer des paquets d'exécution.

Questions connexes