#1 Wed 15 December 2004 11:17
- Raphael Wunderlich
- Invité
Erreur de code lors de la compilation pour une DLL
Bonjour,
Je susi en train de convertir un de nos code dans une dll. Mon code fonctionne parfaitement dans ArcMap (V 8.3).
Lorsque j'essai de complier ma dll, j'ai un message d'erreur qui me dit Methode ou memebre de donnees introuvable ; et cela me bloque sur FindExtensionByCLSID
Le bout de code qui pose probleme est le suivant:
Code:
... Dim pEditor As IEditor Dim pId As New UID pId.Value = {F8842F20-BB23-11D0-802B-0000F8037368} Set pEditor = Application.FindExtensionByCLSID(pId) ....
Est-ce que quelqu'un saurrais ce qui me pose probleme ?
Merci
Salutations
Raphael Wunderlich
Republique et canton du Jura
Service de l'amenagement du territoire
Section cadastre et geomatique
www.jura.ch/sit
#2 Wed 15 December 2004 11:17
- MEAR Laurent
- Invité
Re: Erreur de code lors de la compilation pour une DLL
Bonjour,
La variable « Application » n'est valable que lorsque que vous travailler en VBA dans arcmap.
Dans une dll, il faut creer un bouton pour pouvoir recuperer un pointeur vers l'application. Ce pointeur est passe via la methode « OnCreate » des boutons, des extensions, ....
Vous trouverez plus d'infos et des exemples dans le chapitre « getting started » de l'aide Arcobject fournie avec Arcgis.
Exemple en VB.NET :
Code:
Private m_pApp As IApplication ' declaration d'un pointeur vers l'application Public Sub OnCreate(ByVal hook As System.Object) Implements ESRI.ArcObjects.Core.ICommand.OnCreate If Not (hook Is Nothing) Then If TypeOf (hook) Is IMxApplication Then m_pApp = CType(hook, IApplication) ' recuperation du pointeur End If End If End Sub Public Sub OnClick() Implements ESRI.ArcObjects.Core.ICommand.OnClick Dim uid As New UIDClass() uid.Value = esriCore.Editor pEditor = CType(m_pApp.FindExtensionByCLSID(uid), IEditor) ' utilisation du pointeur ' la suite ... End Sub ....