#1 Thu 21 June 2007 11:52
- scoutoto
- Participant occasionnel
- Date d'inscription: 5 Jun 2007
- Messages: 32
MapX - Problème avec "UpdateFeature"
Bonjour,
J'utilise l'activeX MapX.
Mon problème est le suivant. J'ai un layer avec pas loin de 2000 features.
Il faut je mette à jour deux colonnes de données pour ce layer.
J'utilise la fonction updatefeature. Je boucle sur ces 2000 features et au bout d'un moment j'ai le message d'erreur suivant :
<<
En tentant d'invoquer la méthode <UpdateFeature>, l'objet Automation/ActiveX a renvoyé l'erreur suivante :
'Erreur 00000000 : Error updating feature object.'
En tentant de lire la propriété <UpdateFeature>, l'objet Automation/ActiveX a renvoyé l'erreur suivante :
'Erreur 8002000E, Nombre de paramètres incorrect'
En tentant d'écrire la propriété <UpdateFeature>, l'objet Automation/ActiveX a renvoyé l'erreur suivante :
'Erreur 80020005, Type incorrect pour le paramètre -1232201'
>>
Est ce que certaines personnes ont déjà rencontré ce problème ?
Merci de votre aide.
Hors ligne
#2 Wed 27 June 2007 10:21
- scoutoto
- Participant occasionnel
- Date d'inscription: 5 Jun 2007
- Messages: 32
Re: MapX - Problème avec "UpdateFeature"
Bonjour,
Personne n'a donc rencontré ce problème ?
Petite précision, je me suis aperçu que le message d'erreur apparaît plus souvent lorsque le fichier sur lequel je travaille est important (avec bcp de features)
Toutes propositions pour contourner ce problème m'aideraient énormément.
Merci de votre aide.
Hors ligne
#3 Wed 27 June 2007 20:56
- Damien BEAUSEIGNEUR
- Participant assidu
- Lieu: meyzieu
- Date d'inscription: 5 Sep 2005
- Messages: 425
Re: MapX - Problème avec "UpdateFeature"
Bonjour,
Essaye dans un premier temps d'enlever les index sur le layer. Cela simplifiera le travail de Mapx, qui est loin d'être aussi performant que Mapinfo sur la gestion des index.
Si celà ne marche pas vérifie que cet objet est lisible par Mapinfo.
cordialement
Hors ligne
#4 Wed 27 June 2007 21:56
- Sébastien VERNIER
- Juste Inscrit !
- Date d'inscription: 7 Sep 2005
- Messages: 8
Re: MapX - Problème avec "UpdateFeature"
Bonjour,
Je n'ai pas rencontré ce problème exactement, mais dans une situation similaire.
En effet, je rencontre des erreurs au bout d'un nombre conséquent d'opérations (notamment à l'intérieur d'une boucle).
Malheureusement, je n'ai pas encore trouvé la solution à ce problème. Vu qu'il arrive très peu fréquemment et dans certains cas particuliers (notamment gros volumes à traiter), ce n'est pas encore trop gênant.
Je ne pense pas que le problème vienne du code en soit mais de la façon dont les opérations s'enchaînent entre elles et dont la plage mémoire ainsi que son adresse sont mises à disposition. Pour cela je force dans mon code à n'avoir plus de référence à la variable dès que je n'en ai plus besoin.
Si ça peut vous aider.
Sébastien
PS : Pour infos, j'utilise Mapx5 avec Delphi6.
Hors ligne
#5 Tue 03 July 2007 18:41
- scoutoto
- Participant occasionnel
- Date d'inscription: 5 Jun 2007
- Messages: 32
Re: MapX - Problème avec "UpdateFeature"
Bonjour,
Merci beaucoup de vos réponses, elles m'ont été d'une grande aide.
En effet, ce sont les index du layer qui posaient problème !
J'ai fait le test avec un fichier de plus de 13000 features (en enlevant les index) et cela passe. Donc merci une nouvelle fois.
Mais j'ai encore quelques soucis.
En fait, par la suite j'ai besoin des index pour créer le dataset correspondant au layer.
Si je n'ai pas précisé d'index . . . un magnifique message d'erreur m'avertit comme quoi mon layer specified is not matchable.
('Erreur 00000000 : Layer specified is not matchable.')
Sous MapX, la propriété "Indexed" renvoie seulement une valeur (vrai ou faux), il n'est pas possible de "forcer" un field en index. (ou dit autrement : avoir un accès en écriture de la propriété indexed).
Avez-vous déjà rencontré ce problème là et si oui comment l'avez-vous résolu ?
Merci une nouvelle fois de votre aide
Hors ligne
#6 Mon 09 July 2007 22:02
- Damien BEAUSEIGNEUR
- Participant assidu
- Lieu: meyzieu
- Date d'inscription: 5 Sep 2005
- Messages: 425
Re: MapX - Problème avec "UpdateFeature"
Note pour éviter les problème d'index pendant la mise à jour. J'ai enlever les informations du fichier .tab (le mots index derrière le nom du champ), et une fois la mise à jour, il ne reste plus qu'à rétablir l'information dans le fichier .tab .
Il est plus sur dans ce genre de méthode après modification de fermer la table. Et de l'ouvrir avec le .tab ayant les informations d'index. Un seul défaut si les données modifiés ont été modifiées sur la colonne des index alors... l'index ne devrait pas être à jour.
Hors ligne