1. Bonjour tout le monde ! Veillez consulter la Politique de forum pour comprendre nos règles, Merci a vous !
    Rejeter la notice

WD Problème lors de l'utilisation de la fonction transfert

Discussion dans 'Windev' créé par CAMAN, Mar 14, 2022.

  1. CAMAN

    CAMAN New Member

    Inscrit:
    Fev 29, 2020
    Messages:
    21
    J'aime reçus:
    0
    Bonjour les pro!!!
    Je rencontre des difficultés lors de l'utilisation de la fonction transfert pourtant tout semble ok.
    wd me dit que l'adresse n'est pas une adresse mémoire valide en écriture.
    Une idée???
    Merci.
     

    Fichiers attachés:

    • 2.PNG
      2.PNG
      Taille de fichier:
      12.2 KB
      Affichages:
      15
    Tags:
  2. Gemini1961

    Gemini1961 Well-Known Member
    MEMBRE WX DUMP TEAM

    Inscrit:
    Jan 2, 2018
    Messages:
    578
    J'aime reçus:
    867
    Bonjour

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!


    Difficile de cerner le problème avec si peu d'éléments. :)
    Bien Cordialement
     
  3. CAMAN

    CAMAN New Member

    Inscrit:
    Fev 29, 2020
    Messages:
    21
    J'aime reçus:
    0

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Bonjour

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!


    Difficile de cerner le problème avec si peu d'éléments. :)
    Bien Cordialement
    Cliquez pour agrandir...
    Je
    [windev]voici mon code :
    gnNtailleImage = gnImageWidth * gnImageHeight
    SI gnNtailleImage > 0 ALORS
    gnDataImage = &gnImageData
    QUAND EXCEPTION DANS
    Transfert(&bufFerImage, gnImageData,gnNtailleImage)

    FAIRE
    Erreur("erreur programme !")
    FIN
    FIN

    [/windev]

    Depuis un capteur d'empreinte, Je récupère l'image dans une variable (gnimagedata) ainsi que la taille( gnImageWidth , gnImageHeight) maintenant je cherche à copier les octets de l'image dans un buffer qui est ici &bufFerImage mais je rencontre une erreur qui est postée dans l'image dans mon premier post.
    MERCI.
     
  • popoy

    popoy Well-Known Member
    MEMBRE WX

    Inscrit:
    Fev 23, 2018
    Messages:
    2,938
    J'aime reçus:
    1,564
    Un simple
    Code (Text):
    bufFerImage = gnimagedata
    Devrait suffire
    Pas besoin de la fonction transfert
     
    WX1331 et Gemini1961 aiment ça.
  • CAMAN

    CAMAN New Member

    Inscrit:
    Fev 29, 2020
    Messages:
    21
    J'aime reçus:
    0

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Un simple
    Code (Text):
    bufFerImage = gnimagedata
    Devrait suffire
    Pas besoin de la fonction transfert
    Cliquez pour agrandir...
    Imagedata est un entier système qui récupère les octets depuis un lecteur donc je cherche à convertir les octets dans un format utilisable en windev ( un buffer ou une image)
     
  • popoy

    popoy Well-Known Member
    MEMBRE WX

    Inscrit:
    Fev 23, 2018
    Messages:
    2,938
    J'aime reçus:
    1,564
    Je comprends plus rien
    D'un côté tu écris
    "Je récupère l'image dans une variable (gnimagedata)"
    De l'autre
    "Imagedata est un entier système"
    Difficile de te répondre si les informations ne sont pas claires
    Où se trouve l'image physique
    (Le fichier)
     
    #6 popoy, Mar 15, 2022
    Dernière édition: Mar 15, 2022
  • CAMAN

    CAMAN New Member

    Inscrit:
    Fev 29, 2020
    Messages:
    21
    J'aime reçus:
    0

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Je comprends plus rien
    D'un côté tu écris
    "Je récupère l'image dans une variable (gnimagedata)"
    De l'autre
    "Imagedata est un entier système"
    Difficile de te répondre si les informations ne sont pas claires
    Où se trouve l'image physique
    (Le fichier)
    Cliquez pour agrandir...
    [windev]imageData, DataImage, ImageWidth , imageHeight, tailleImage sont des entiers système
    RS_Result = API(DllName, "RS_TakeCurrentImageData", deviceHandle, timeout, &imageData, &ImageWidth , &imageHeight )

    IF RS_Result <> RS_SUCCESS THEN
    API(DllName, "RS_GetErrString", RS_Result, &errMsg )
    Trace("RS_TakeCurrentImageData -> Erreur : " + RS_Result, errMsg)
    IF hInst > 0 THEN DéchargeDLL(hInst)
    RETOUR
    END

    // une image à été capturé et imageData contient l'adresse du pointeur qui pointe sur les data de l'image
    bufferImage est un Buffer

    tailleImage = ImageWidth * imageHeight
    IF tailleImage > 0 THEN
    DataImage = &imageData
    WHEN EXCEPTION IN
    Transfert(&bufferImage, &imageData, tailleImage)
    DO
    Erreur("erreur programme !")
    END
    END

    // libération du pointeur
    API(DllName, "RS_FreeImageData", imageData)[/windev]


    Gnidmage est un entier système qui récupère les octets lors de la capture des empreintes effectuée sur un lecteur
     
  • popoy

    popoy Well-Known Member
    MEMBRE WX

    Inscrit:
    Fev 23, 2018
    Messages:
    2,938
    J'aime reçus:
    1,564
    Déjà il est normal d'avoir le message d'erreur puisque ton pointeur n'est peut être pas le pointeur mémoire de l'ordinateur mais le pointeur dans l'appareil

    Pour essayer de répondre, il faudrait avoir les exemples fourni par le fabricant
    (Peut importe le langage)
    Voir la documentation de l'"API"
    Personnellement je ne suis pas un pro dessus mais fournir ces informations pourras peut être donner l'information nécessaire à un autre développeur.
     
    Gemini1961 apprécie ceci.
  • Partager cette page

    Chargement...