OVH Cloud OVH Cloud

MAPPOINT RETOUR

1 réponse
Avatar
Manu
BONJOUR,

je m'excuse pour mon absence sur le groupe et surtout auprès de Zoury qui
m'avait gentiment répondu.

Ma question d'origine était:
"Je n'arrive pas à programmer le lancement de ma carte sous map point
version 2001. Pour cela il faut utiliser la méthode :
object.OpenMap(Filename, [AddToRecentFiles])

Mon fichier pour faire simple est : C:\map.ptm
j'ai déja référencé la bibliothèque sous Vb6 et Vba."

Zoury m'a répondu le code suivant:

Private Sub Form_Load()
1 Private m_mpApp As MapPoint.Application
2 Private m_mpMap As MapPoint.Map
End Sub

Private Sub Command1_Click()
' initialise l'application
Set m_mpApp = New MapPoint.Application

' nous permet de garder le contrôle sur l'application
3 m_mpApp.UserControl = True
' affiche l'application
m_mpApp.Visible = True

' ouvre la map.. si une autre map était déjà ouverte,
' la fenêtre de sauvegarde de modif apparait automatiquement
Set m_mpMap = m_mpApp.OpenMap("c:\" & "Map.ptm", False)
End Sub

' libère les ressources
Private Sub Form_Unload(Cancel As Integer)

4 If (Not m_mpApp Is Nothing) Then
Call m_mpApp.Quit
Set m_mpApp = Nothing
Set m_mpMap = Nothing
End If

End Sub

Pour faire suite à sa réponse voici le bilan du code:

Ligne numérotée 1 et 2, j'ai modifié Private en Dim
Ligne numérotée 3, ne passe pas mais ne semble pas utile au déroulement du
code
Ligne numérotée 4 : Bloquage du code sur cette ligne. Je ne comprend pas
pourquoi.

Merci pour votre aide

MANU

1 réponse

Avatar
François Picalausa
Hello,

Si tu remplace Private par Dim, la variable ne sera plus accessible dans le
reste du form.
Je crois que ce que Zoury voulait dire c'était:

'Dans les déclarations
Option Explicit

Private m_mpApp As MapPoint.Application
'On peut discuter de la nécessité d'une variable privée à la form pour
stoquer la map...
Private m_mpMap As MapPoint.Map

Private Sub Form_Load()
Set m_mpApp = new MapPoint.Application
End Sub

Private Sub Command1_Click()
' initialise l'application : déjà fait dans Form_Load
'Set m_mpApp = New MapPoint.Application

' nous permet de garder le contrôle sur l'application
m_mpApp.UserControl = True
' affiche l'application
m_mpApp.Visible = True

' ouvre la map.. si une autre map était déjà ouverte,
' la fenêtre de sauvegarde de modif apparait automatiquement
Set m_mpMap = m_mpApp.OpenMap("c:" & "Map.ptm", False)
End Sub

Private Sub Form_Unload(Cancel As Integer)
[...]
End Sub

Celà arrangrera peut être une partie des problèmes


--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
http://apisvb.europe.webmatrixhosting.net

"Manu" ;fr> a écrit dans le message de
news:%
Ma question d'origine était:
"Je n'arrive pas à programmer le lancement de ma carte sous map point
version 2001. Pour cela il faut utiliser la méthode :
object.OpenMap(Filename, [AddToRecentFiles])
Pour faire suite à sa réponse voici le bilan du code:
[Code]
Ligne numérotée 1 et 2, j'ai modifié Private en Dim
Ligne numérotée 3, ne passe pas mais ne semble pas utile au
déroulement du code
Ligne numérotée 4 : Bloquage du code sur cette ligne. Je ne comprend
pas pourquoi.