#1 Wed 12 February 2003 18:32
- Yannick Depret
- Invité
erreur fenetre
Bonjour,
Mapinfo6.5 n'autorise t il qu'un nombre limite de fenetres cartes ouvertes?
J'ai cree un document qui contient 13 fenetres cartes ouvertes issues de la
copie d'une premiere fenetre carte.
Lorsque je souhaite ouvrir ce document mapinfo indique l'erreur suivante :
identifiant de fenetre 11 invalide.
Quelqu'un connait il cette erreur?
merci
yannick
#2 Mon 19 December 2005 11:05
- Lyonic
- Juste Inscrit !
- Lieu: Lyon
- Date d'inscription: 10 Sep 2005
- Messages: 2
Re: erreur fenetre
Bonjour,
Je rĂ©actualise ce 'vieux' message car je viens moi aussi de constater le mĂȘme problĂšme sur mon poste... Est-ce que quelqu'un a pu rĂ©soudre cela depuis ?
D'avance merci.
Hors ligne
#3 Mon 19 December 2005 17:53
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: erreur fenetre
Bonjour,
Question: si vous nommez la premiĂšre fenĂȘtre 'Carte1' avant de la copier 12 fois, le problĂšme se pose-t-il encore??
Je pense Ă un problĂšme de longueur de nom, que la dĂ©nomination 'Carte1:10' Ă©vitera alors qu'il peut se poser quand on arrive Ă plus de 9 fenĂȘtres (un caractĂšre de plus/de trop?).
Hors ligne
#4 Thu 05 January 2006 12:11
- Lyonic
- Juste Inscrit !
- Lieu: Lyon
- Date d'inscription: 10 Sep 2005
- Messages: 2
Re: erreur fenetre
Salut,
je pense avoir appliquĂ© des noms assez courts pourtant Ă ces fenĂȘtres...
Je m'en suis sorti en supprimant les lignes du .WOR correspondant Ă cette fenĂȘtre avec un Ă©diteur de texte... et pour le moment, ça tient !
Hors ligne
#5 Thu 02 February 2006 14:32
Re: erreur fenetre
Bonjour,
Je rencontre un problÚme similaire mais uniquement au moment de la création d'une fenetre de légende par programmation.
Ma fenetre carte s'appelle "Barrage,Ecluse,...,Surface_Hypso Carte"
Les lignes de code MapBasic sont les suivantes :
Code:
...
iMapWin = FrontWindow()
...
sCmdTxt1 = "Create Cartographic Legend From Window " + iMapWin + " Position (" + ... + ") Width " + ... + " Height " + ... + " Window Title ""Legende"" Scrollbars On Portrait Default Frame Title ""#"" Font (""Arial"",3,8,0) Default Frame Style ""(%)"" Font(""Arial"",0,7,0)"
For i = 1 To MapperInfo( FrontWindow() , MAPPER_INFO_LAYERS )
sCmdTxt2 = sCmdTxt2 + "Frame From Layer " + i + " Using Column object Label default"
'récupÚre tous les identifiants de couches utiles par une boucle
Next
sCmdTxt1 = sCmdTxt1 + sCmdTxt2
'concatenation de la chaine de commande complete
Run Command sCmdTxt1
'execution de la chaine de commandeMapInfo me retourne l'erreur suivante :
"Identifiant de fenetre 23 invalide"
Je n'ai d'ouvert que deux fenetres cartes.
'23' est le nombre total de fenetres NumAllWindows() (fenĂȘtre de lĂ©gende comprise)
Le nom de la fenetre lĂ©gende devrait ĂȘtre :
"Legende de Barrage,Ecluse,...,Surface_Hypso Carte"
Merci de vos suggestoins et remarques et solutions
JérÎme
Hors ligne
#6 Fri 03 February 2006 09:21
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: erreur fenetre
Bonjour,
Désolé...mon MI 7.8 ne reproduit pas cette erreur.
J'ai des wor avec plusieurs dizaines de fenĂȘtres cartes de ce genre...et aucun problĂšme!!
Hors ligne
#7 Wed 08 February 2006 15:14
Re: erreur fenetre
Bonjour,
J'ai trouvé ma panne !
Ce qu'il fallait comprendre, c'est que la fenĂȘtre de lĂ©gende est un conteneur de fenĂȘtres de lĂ©gende pour chacune des couches.
Le message "Identifiant de fenetre 23 invalide" signifie que la fenĂȘtre de lĂ©gende de la couche 23 n'a pas de dimension car les objets de cette couche ne peuvent pas ĂȘtre affichĂ©s.
Il suffisait donc (la solution est simple quand on a la rĂ©ponse) de tester la nature des objets de chacune des couches et s'assurer qu'il ne s'agit pas de 'Symbol' dont le code est '31' (symbole invisible 'N') ni de 'Line' dont la forme est 1 (line invisible 'N') ni de 'Brush' dont la forme est 1 (idem). Le code du test ressemble Ă
'StleAttr(LayerInfo(WindowId(Carte),numLayer,LAYER_INFO_OVR_SYMBOL),SYMBOL_CODE)=31
Dans l'affirmative du test, passer Ă la couche suivante.
La fenĂȘtre LĂ©gende gĂ©nĂ©rale avec la fenĂȘtre lĂ©gende de la premiĂšre couche se créé par un
'Create Cartographic Legend From Window WindowId(carte) ... Frame From Layer 1 ...'
Les fenĂȘtre lĂ©gende des couches suivantes s'ajoutent Ă la premiĂšre par un
'Add Carrtographic Frame Window WindowId(Legende) ... Frame From Layer n ...'
VoilĂ voilĂ
Bonne aprĂšs midi Ă tous. Merci de vos suggestions.
JérÎme
Hors ligne

