Comment puis-je afficher mes contrôles ActiveX sur la boîte à outils dans Visual Studio (et d’autres)

J’ai écrit une série de contrôles ActiveX dans Delphi à utiliser dans d’autres environnements de développement (comme Visual Studio ou dBASE pour Windows, par exemple)

J’ai utilisé les Assistants ActiveX fournis dans l’EDI de RAD Studio pour générer les “liaisons” ActiveX (à défaut d’un meilleur mot) pour mes contrôles basés sur la VCL, mais il ne semble pas produire la source nécessaire pour les afficher sur l’IDE. palettes de composants.

Habituellement, sur ces IDE (Visual Studio et dBASE Plus), je peux simplement importer un contrôle ActiveX et il apparaîtra sur leur boîte à outils (leur version d’une palette de composants) avec leur icône définie.

Eh bien, mes propres contrôles ActiveX produits dans Delphi ne le font pas (ils importent très bien, mais n’apparaissent pas sur la palette / la boîte à outils), et j’ai parcouru Google en essayant de trouver une solution pour les deux dernières semaines.

Ayant échoué lamentablement, j’ai décidé de demander ici:

Comment puis-je afficher mes contrôles ActiveX sur Toolbox dans Visual Studio (et autres)?

Merci pour tous conseils / suggestions.

EDIT: Quelques infos supplémentaires …

J’ai essayé de faire cela avec XE2 et XE3, et il a échoué à chaque fois … Cependant, quand je fais la même chose (en utilisant les Wizards) avec Delphi 2007, l’icône du composant apparaît dans la palette / Boîte à outils des autres IDE selon vos besoins. Cela signifie que le problème a été introduit après Delphi 2007 et est probablement le résultat d’une modification RTL / VCL.

Mes recherches ont conclu que les versions Unicode de Delphi (2009 à XE3) ne génèrent pas le balisage correct pour les contrôles ActiveX à l’aide des assistants fournis.

De plus, les modifications apscopes à RTL et à la VCL depuis Delphi 2007 signifient que, même si vous produisez manuellement le balisage source nécessaire, vos contrôles ne se comporteront pas correctement lorsqu’ils sont intégrés à des applications non Delphi (telles que Visual Studio et dBASE Plus). Cela est en grande partie lié à la présomption de la VCL d’une valeur de propriété Parent conforme à la VCL, où la mise à jour de propriétés telles que ParentFont entraînera une erreur de violation d’access.

La solution dans mon cas a été de produire les contrôles ActiveX exportés dans Delphi 2007 (étant la dernière version à “être juste” avec les autres consommateurs de contrôles ActiveX)

J’espère que cette information vous évitera le long et fastidieux processus d’enquête que j’ai dû mener pour arriver à cette conclusion.