Pré. | Proc. |
Conseils et Astuces
Considérations
Item |
Détail |
Voir également |
---|---|---|
GUID |
Le GUID d'enregistrement et le nom utilisés pour enregistrer un Add-In doivent être les mêmes pour les versions 32 bits et 64 bits d' Enterprise Architect . Seuls le nom et/ou l'emplacement de la DLL doivent être différents. |
|
Add-Ins Enterprise Architect 64 bits et C++ |
Hormis l'utilisation de la clé d'enregistrement correcte (voir l'étape 4 dans la rubrique d'aide Déployer les compléments), il n'y a pas de configuration spéciale pour obtenir un object COM 64 bits exécuté sous Enterprise Architect 64 bits. |
Déployer Add-Ins |
Add-Ins .NET |
Lors de la génération d'un assemblage .NET , vous devez explicitement définir la 'Target Platform' sur x86/x64. Le laisser sur 'N'importe quel processeur' pourrait causer des problèmes lorsque Enterprise Architect 32 bits est exécuter sur une version 64 bits de Windows. Ajoutez une cible x64 à votre projet et reconstruisez le projet. Visual Studio rencontre un problème lors de la tentative d'enregistrement d'un assembly .NET lorsque Interop.EA est inclus dans un projet. Il tentera d'utiliser regasm pour l'architecture pour laquelle Interop.EA a été conçu. Nous avons trouvé l'ajout d'aides au script de post-construction, si vous décochez l'option "S'inscrire pour l'interopérabilité COM" dans les paramètres du projet (en supposant que vous avez l'autorisation d'écrire dans le registre). if $(PlatformName) == x64 ( "%Windir%\Microsoft.NET\Framework64\v4.0.30319\regasm" "$(TargetPath) " ) if $(PlatformName) == x86 ( "%Windir%\Microsoft.NET\Framework64\v4.0.30319\regasm" "$(TargetPath) " ) Note : Au moment de la rédaction, les 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é lors de l'utilisation de la version 32 ou 64 de la dll, tant que la DLL SSJavaCOM peut être trouvée par le runtime 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 d' 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 pour passer 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 d' Object Enterprise Architect . |
|
Informations sur 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 dans un autre. Il y a quelques dangers à faire ça :
|
|
Enterprise Architect ne se ferme pas |
Problèmes spécifiques à .NET L'automatisation vérifie l'utilisation des objets et n'autorisera la destruction d'aucun d'entre eux tant qu'ils ne seront plus utilisés. Comme indiqué dans la rubrique Interface d'automatisation , si votre contrôleur d'automatisation a été écrit à l'aide du .NET , Enterprise Architect ne se ferme pas même après avoir publié toutes vos références. 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, parce que les clients d'automatisation s'accrochent à Enterprise Architect , qui crée Add-Ins qui à leur tour se raccrochent à Enterprise Architect , il est possible de se retrouver dans une situation de blocage où Enterprise Architect et les Add-Ins ne se lâcheront pas et garderont les uns les autres actifs. Un Add-In peut conserver des crochets dans Enterprise Architect car :
Divers Lors du développement Add-Ins à l'aide du .NET , vous devez sélectionner l'interopérabilité COM dans les propriétés du projet afin qu'il soit reconnu comme un Add-In . Certains environnements de développement n'enregistrent pas automatiquement les DLL COM lors de la création. Vous devrez peut-être le faire manuellement avant Enterprise Architect ne reconnaisse le Add-In . Vous pouvez utiliser votre clé de Add-In privée (comme requis pour Add-In ) pour stocker les informations de configuration pertinentes pour votre Add-In . |
Exemples et Conseils Conseils et Astuces Événements Add-In |