Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Pour sécuriser votre compte sur les forums du GeoRezo, nous demandons de changer votre mot de passe.

Vous allez recevoir un message pour effectuer ce changement de mot de passe.

Merci de bien respecter les règles préconisées.

#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
....
 

Pied de page des forums

Powered by FluxBB