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

Messages postés
145
Date d'inscription
samedi 1 août 2009
Statut
Membre
Dernière intervention
23 juillet 2019
- - Dernière réponse : ccgousset
Messages postés
145
Date d'inscription
samedi 1 août 2009
Statut
Membre
Dernière intervention
23 juillet 2019
- 26 sept. 2009 à 17:39
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
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
1566
Date d'inscription
mardi 26 décembre 2000
Statut
Membre
Dernière intervention
5 avril 2013
3
3
Merci
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)

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 194 internautes nous ont dit merci ce mois-ci

Commenter la réponse de jmf0
Messages postés
17280
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
57
0
Merci
Pourquoi utiliser l'API plutot que le controle fournit avec VB ?


Renfield - Admin CodeS-SourceS - MVP Visual Basic
Commenter la réponse de Renfield
Messages postés
145
Date d'inscription
samedi 1 août 2009
Statut
Membre
Dernière intervention
23 juillet 2019
0
Merci
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.
Commenter la réponse de ccgousset
Messages postés
145
Date d'inscription
samedi 1 août 2009
Statut
Membre
Dernière intervention
23 juillet 2019
0
Merci
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 +
Commenter la réponse de ccgousset