Erreur 5 dans VB6 . Erreur parfois mais pas tout le temps

Résolu
ccgousset Messages postés 150 Date d'inscription samedi 1 août 2009 Statut Membre Dernière intervention 4 mars 2023 - 24 sept. 2009 à 23:26
ccgousset Messages postés 150 Date d'inscription samedi 1 août 2009 Statut Membre Dernière intervention 4 mars 2023 - 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

4 réponses

jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
24 sept. 2009 à 23:46
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)
3
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
25 sept. 2009 à 09:45
Pourquoi utiliser l'API plutot que le controle fournit avec VB ?


Renfield - Admin CodeS-SourceS - MVP Visual Basic
0
ccgousset Messages postés 150 Date d'inscription samedi 1 août 2009 Statut Membre Dernière intervention 4 mars 2023
26 sept. 2009 à 17:31
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.
0
ccgousset Messages postés 150 Date d'inscription samedi 1 août 2009 Statut Membre Dernière intervention 4 mars 2023
26 sept. 2009 à 17:39
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 +
0
Rejoignez-nous