utilisation du champ Camera en Windev24
salut à tous
j'ai un sérieux problème avec l'utilisation du champs camera dans mon projet pour capturer directement les photos des agents en utilisant une WebCam.
en suivant très bien vos conseils d'utiliser toujours le moteur de recherche de Windev, je l'ai fait et tenter tous les codes sur l'utilisation de ce champs mais je ne récois que les erreurs que je n'arrive pas à comprendre.
voici les cas:
1. j'ai utilisé ce code;
Code:
1 2 3 4 5 6 7
| ResSauvegarde est un booléen
ResSauvegarde = VidéoCapture(Vidéo1, "C:\Temp\Imag.BMP", viCaptureImage)
SI ResSauvegarde = Vrai ALORS
Info("Image correctement sauvegardée")
SINON
Erreur(ErreurInfo())
FIN |
voici l'erreur
Erreur à la ligne 2 du traitement Clic sur BTN_SansNom2.
Vous avez appelé la fonction VidéoCapture.
Erreur lors de la désignation du fichier de capture :
'C:\Temp\Imag.BMP' est un nom de fichier invalide
ou
le périphérique est en train de réaliser une sauvegarde (vidéo ou image)
Détail de l'erreur système :
Erreur non spécifiée
(2147500037)
2.j'ai tenté aussi;
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| SI PAS CaméraCapture(Vidéo1,"C:\Temp\MaVideo.bmp", viCaptureImage) ALORS
Erreur(ErreurInfo())
RETOUR
FIN
// Récupération du dernier répertoire utilisé
SI gsRepDernierCapture~="" ALORS
gsRepDernierCapture = fRepEnCours()
FIN
// Renomme le fichier AVI
sNomFichier est une chaîne = fSélecteur(gsRepDernierCapture, "Enregistrer sous .....", "Image (*.bmp)"+TAB+"*.bmp"+RC+"Tous fichiers (*.*)"+TAB+"*.*", "bmp", fselCrée+fselExiste)
SI sNomFichier~="" ALORS
// Suppression du fichier temporaire
fSupprime(ComplèteRep(fRepExe())+"C:\Temp\MaVideo.bmp")
SINON
// Renommage et déplacement du fichier généré
SI sNomFichier~=ComplèteRep(fRepExe())+"C:\Temp\MaVideo.bmp" ALORS
// Le fichier est déjà le bon
SINON
// Si un fichier du même nom que le fichier destination existe, on le supprime
SI fFichierExiste(sNomFichier) ALORS fSupprime(sNomFichier)
// On renomme le fichier temporaire dans le nom sélectionné
fRenomme(ComplèteRep(fRepExe())+"C:\Temp\MaVideo.bmp",sNomFichier)
FIN
// Mémorisation du répertoire
gsRepDernierCapture = fExtraitChemin(sNomFichier,fDisque+fRépertoire)
IMG_SansNom1=sNomFichier
SAI_cptr=SAI_cptr+1
SELON SAI_cptr
CAS=1
IMG_Image2=sNomFichier
CAS=2
IMG_Image3=sNomFichier
CAS=3
IMG_Image4=sNomFichier
CAS=4
IMG_Image5=sNomFichier
AUTRE CAS
Erreur("Il ne faut capturer que 4 image")
FIN
FIN |
voici l'erreur:
Cette fonction n'est disponible que sur un champ avec l'option Vidéo for Windows activée.
3. Cas, j'ai fais un pas en arrière en utilisation l'exemple fourni par Windev20, en utilisation les même champs, les mêmes codes,
Code:
1 2 3 4
| SI PAS VidéoCapture(Vidéo1,ComplèteRep(fRepExe())+"Temp.bmp",viCaptureImage) ALORS
Erreur(ErreurInfo())
RETOUR
FIN |
si l'installable n'est pas crée, le fichier temp. se crée dans le le dossier exe. mais une fois l'application installé, un autre message apparait disant : Erreur de l'API Vidéo lors de l'appel à la fonction CapFileSaveDIB (info supplémentaire: Impossible d'ouvrir C:\Program File\GNPA_NV\Tem.bmp.
Si le problème c'est au niveau du chemin de sauvegarde de l'image, il n'y a pas moyen de ne pas stocker l'image dans un dossier Temp. mais de l'afficher directement sur un champs Image comme phot?