Erreur 5 dans VB6 . Erreur parfois mais pas tout le temps [Résolu]

Signaler
Messages postés
147
Date d'inscription
samedi 1 août 2009
Statut
Membre
Dernière intervention
5 novembre 2019
-
ccgousset
Messages postés
147
Date d'inscription
samedi 1 août 2009
Statut
Membre
Dernière intervention
5 novembre 2019
-
Bon,Voila mon probleme

J'ai une procedure qui utilise l'api GetOpenFileName Lib "comdlg32.dll" et me retourne un variant avec le path du fichier choisi ,le corps et l'extension du di fichier. la boite saffiche je selectionne et parfois le vb se met en erreur a l'execution en me renvoyan t une valeur 0 pour la position nom de fcihier dans le chaine complte (nFileOffset definie ds la structure. Si kkelkun connait bien cet Api et k'il connait cet erreur je veux bien la reponse.Merci

4 réponses

Messages postés
1566
Date d'inscription
mardi 26 décembre 2000
Statut
Membre
Dernière intervention
5 avril 2013
3
Bon, (et pas de salut non plus, alors...)

Tu t'es peut-être renseigné sur ce que retourne cette fonction et as donc peut-être lu ceci (explicite) :
If the user specifies a filename and clicks the OK button, the return value is nonzero. The buffer pointed to by the lpstrFile member of the OPENFILENAME structure contains the full path and filename specified by the user.

If the user cancels or closes the Open dialog box or an error occurs, the return value is zero. To get extended error information, call the CommDlgExtendedError function, which can return one of the following values:
CDERR_FINDRESFAILURE, CDERR_NOHINSTANCE, CDERR_INITIALIZATION, CDERR_NOHOOK, CDERR_LOCKRESFAILURE, CDERR_NOTEMPLATE, CDERR_LOADRESFAILURE, CDERR_STRUCTSIZE, CDERR_LOADSTRFAILURE, FNERR_BUFFERTOOSMALL, CDERR_MEMALLOCFAILURE, FNERR_INVALIDFILENAME, CDERR_MEMLOCKFAILURE, FNERR_SUBCLASSFAILURE


A toi de gérer si 0 retourné, quelle qu'en soit la raison (plus vraisemblablement fermeture sans choix)
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
60
Pourquoi utiliser l'API plutot que le controle fournit avec VB ?


Renfield - Admin CodeS-SourceS - MVP Visual Basic
Messages postés
147
Date d'inscription
samedi 1 août 2009
Statut
Membre
Dernière intervention
5 novembre 2019

je suis pas encore specialiste dinternet donc je ne sais pas si je reponds a renfield. mais voila en ce qui concerne sa question. quand je selectionne un programme j'ai besoin du corps du nom du programme pour creer des autres fichiers avec le meme nom mais une extension differente. l'api me fourni la valeur nFileExtension qui me donne la position du premier point en partant de la droite donc du debut de l'extension du fichier. je n'ai pas vu ca dans les fonction vb a moin de teste les caracteres de la chaine non de fichier. et encore a lenvers pour eviter les fichiers avec deux ou x points dedans.

quand a mon erreur qui arrive de temps en temps sans raison sur un meme fichier fixe ,inerte choisi ,elle n'est pas du a un abort ou un escape.je suis debutant mais je vais essayer de lire les valeurs dont l'article montré par jmf1,parle.Ou puis trouver larticle en question? jai un pdf en anglais sur les Api mais je pense pas ke le di article en fasse partie. Je vous remercie tous deux. a +


Courage à tous. Roi de l'angle.
Messages postés
147
Date d'inscription
samedi 1 août 2009
Statut
Membre
Dernière intervention
5 novembre 2019

messieurs Renfield et jms01, bon j"ai trouve les constantes errXXXXX dans msdn. je n'ai jamais traite des choses pareilles. auriez vous un lien ou le traitement de l'erreur sur commondialog par ces constantes (entre autres je suppose ) serait traité? Si oui je vous serai gré de m'en faire part. Merci. a +