Pré. | Proc. |
Conseils et astuces
Considérations
Item |
Détail |
Voir aussi |
---|---|---|
GUID |
Le GUID d'enregistrement et le nom utilisés pour enregistrer un Add-In doivent être identiques pour les versions 32 bits et 64 bits Enterprise Architect . Seuls le nom et/ou l'emplacement de la DLL doivent être différents. |
|
Enterprise Architect 64 bits et Add-Ins C++ |
Outre l'utilisation de la clé d'enregistrement correcte (voir l'étape 4 de la rubrique d'aide Déployer des modules complémentaires ), il n'existe aucune configuration spéciale pour exécuter un object COM 64 bits sous Enterprise Architect 64 bits. |
Déployer Add-Ins |
Add-Ins .NET |
Lors de la génération d'un assemblage .NET , vous devez définir explicitement la « Plateforme cible » sur x86/x64. Le fait de la laisser sur « N'importe quel processeur » peut entraîner des problèmes lors de exécuter Enterprise Architect 32 bits sur une version 64 bits de Windows. Ajoutez une cible x64 à votre projet et reconstruisez le projet. Visual Studio rencontre un problème lorsqu'il tente d'enregistrer un assembly .NET lorsque Interop.EA est inclus dans un projet. Il tente d'utiliser regasm pour l' architecture pour laquelle Interop.EA a été créé. Nous avons constaté que l'ajout au script de post-construction aide, si vous décochez l'option « Enregistrer pour COM interop » dans les paramètres du projet (en supposant que vous ayez l'autorisation d'écrire dans le registre). si $(PlatformName) == x64 ( "%Windir%\Microsoft.NET\Framework64\v4.0.30319\regasm" "$(TargetPath) " ) si $(PlatformName) == x86 ( "%Windir%\Microsoft.NET\Framework64\v4.0.30319\regasm" "$(TargetPath) " ) Note : au moment de la rédaction de cet article, Add-ins .NET ne fonctionneront pas sous Wine et avec Wine-Mono. |
|
API Java |
L'API Java charge le dernier Enterprise Architect installé et n'est pas affectée lors de l'utilisation de la version 32 ou 64 de la DLL, à condition que la DLL SSJavaCOM puisse être trouvée par l'environnement d'exécution Java. |
|
Note pour les utilisateurs de Visual Basic 5/6 |
Les utilisateurs de Visual Basic doivent note que le numéro de version de l'interface Enterprise Architect est stocké dans le fichier de projet VBP sous une forme similaire à celle-ci : Référence=*\G{64FB2BF4-9EFA-11D2-8307-C45586000000}#2.2#0#..\..\..\..\Program Files\ Sparx Systems \EA\EA.TLB#Enterprise Architect Object Modèle 2.02 Si vous rencontrez des problèmes lors du passage d'une version d' Enterprise Architect à une autre, ouvrez le fichier VBP dans un éditeur de texte et supprimez cette ligne. Ouvrez ensuite le projet dans Visual Basic et utilisez Project-References pour créer une nouvelle référence au modèle Object Enterprise Architect . |
|
Informations State de détention |
Il est possible qu'un Add-In contienne des informations d'état, ce qui signifie que les données peuvent être stockées dans des variables membres en réponse à un événement et récupérées lors d'un autre. Cette pratique comporte certains dangers :
|
|
Enterprise Architect ne ferme pas |
Problèmes spécifiques .NET L'automatisation vérifie l'utilisation des objets et ne permet pas qu'aucun d'entre eux soit détruit jusqu'à ce qu'ils ne soient plus utilisés. Comme indiqué dans la rubrique Interface d'automatisation , si votre contrôleur d'automatisation a été écrit à l'aide du framework .NET , Enterprise Architect ne se ferme pas même après avoir libéré toutes vos références à celui-ci. Pour forcer la libération des pointeurs COM, appelez les fonctions de gestion de la mémoire comme indiqué : GC.Collect(); GC.WaitForPendingFinalizers(); De plus, étant donné que les clients d'automatisation se connectent à Enterprise Architect , qui crée Add-Ins qui se connectent à leur tour à Enterprise Architect , il est possible de se retrouver dans une situation de blocage dans laquelle Enterprise Architect et les Add-Ins ne se lâcheront pas et ne resteront pas actifs. Un Add-In peut conserver des connexions à Enterprise Architect pour les raisons suivantes :
Divers Lors du développement Add-Ins à l'aide du framework .NET vous devez sélectionner l'interopérabilité COM dans les propriétés du projet pour qu'il soit reconnu comme un Add-In . Certains environnements de développement n'enregistrent pas automatiquement les DLL COM lors de leur création. Vous devrez peut-être effectuer cette opération manuellement avant Enterprise Architect ne reconnaisse le Add-In . Vous pouvez utiliser votre clé de Add-In privée (comme requis pour le déploiement Add-In ) pour stocker les informations de configuration pertinentes pour votre Add-In . |
Exemples et Conseils Conseils et astuces Événements Add-In |