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

ccgousset 143 Messages postés samedi 1 août 2009Date d'inscription 28 avril 2018 Dernière intervention - 24 sept. 2009 à 23:26 - Dernière réponse : ccgousset 143 Messages postés samedi 1 août 2009Date d'inscription 28 avril 2018 Dernière intervention
- 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 

Votre réponse

4 réponses

Meilleure réponse
jmf0 1566 Messages postés mardi 26 décembre 2000Date d'inscription 5 avril 2013 Dernière intervention - 24 sept. 2009 à 23:46
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)

Merci jmf0 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 84 internautes ce mois-ci

Commenter la réponse de jmf0
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 25 sept. 2009 à 09:45
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
ccgousset 143 Messages postés samedi 1 août 2009Date d'inscription 28 avril 2018 Dernière intervention - 26 sept. 2009 à 17:31
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
ccgousset 143 Messages postés samedi 1 août 2009Date d'inscription 28 avril 2018 Dernière intervention - 26 sept. 2009 à 17:39
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.