Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

empreinte digital avec windev

50 réponses
Avatar
yedaye
Salut
Je d=E9veloppe une application de reconnaissance par empreinte digital
avec windev 10.
J'ai achet=E9 le Microsoft fingerprint reader et j'ai le fingerprint
SDK de Griaule.

Mon probl=E8me est le suivant .

la fonction CapRawImageToHandle est d=E9finie dans le SDK avec les
param=E8tres suivants:

Returns a picture display handle (IPictureDisp) to the supplied raw
grayscale fingerprint image.

Return On success, GR_OK is returned.
On failure, the appropriate error code is returned.

Parameters
[in] rawImage A raw grayscale fingerprint image.

[in] width Fingerprint image width in pixels.

[in] height Fingerprint image height in pixels.

[in] hdc The device context handle (HDC) in which the picture will be
created.

[out] handle The fingerprint picture display handle (IPictureDisp).

Mon code windev est le suivant :

idsensor est une cha=EEne
moncontext, monhdc, monhandle sont des entiers
monimage est un Variant
ActiveX1>>CapInitialize()
ActiveX1>>Initialize()
ActiveX1>>CreateContext(moncontext)
ActiveXEv=E9nement("montest",ActiveX1,"SensorPlug")
ActiveX1>>CapStartCapture(idsensor)
monhdc=3DdD=E9butDessin(Image1)
monhandle=3DHandle(Image1)
ActiveX1>>CapRawImageToHandle(monimage,355,390,monhdc,monhandle)
ActiveX1>>StopCapture(idsensor)

quand je teste, il me met l'erreur suivante :

" En tentant d'invoquer la m=E9thode <CapRawImageToHandle>, l'objet
Automation/ActiveX a renvoy=E9 l'erreur suivante : 'Erreur 80020005,
Type incorrect pour le param=E8tre 5' "

Quelqu'un a une id=E9e?

Merci d'avance

10 réponses

1 2 3 4 5
Avatar
Romain PETIT
a exposé le 13/06/2008 :
j'ai lancé le téléchargement mais si je dois recommencer tous mon
développement en VB, je serai en retard dans mes échéances. est-ce
qu'il y a possibilité de faire communiquer windev et un programme fait
en VB ? Comme cela, je pourrai faire la partie de communication avec
le lecteur en VB et les autres en windev.



Non, il y a méprise, il ne s'agit pas pour toi de reprendre le
développement en VB ou C#, il s'agit de pouvoir ouvrir les exemples du
SDK (qui n'existent pas en W-langage) afin de pouvoir plus facilement
les retranscrire sous WD (types de données, comment utiliser les
fonctions etc...)

A+

--
Romain PETIT
http://cerbermail.com/?O16kfXOFcq
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
yedaye
ok, c'est compris j'ai déjà trouvé ce qui bloque réellement, c'est l e
type de la variable raw.img qui est Variant en VB.
Sous windev, il n'accepte pas le variant. il met en retour pour
l'évènement ImageAcquired,

<< Un élément de type ne peut pas être converti vers le type
variant.>>

Si au moins il précisait le type de la variable d'origine, je saurai
quoi mettre comme type à ma variable Param_image.
voici ma fonction de callback

PROCEDURE Aquisition_Image(Param_ID_Sensor="DPMS6C2DB4",
Param_Largeur55,Param_image est un Variant=0 ,
Param_Hauteur90,Param_res–)

et mon évènement

ActiveXEvénement("Aquisition_Image",ActiveX1,"ImageAcquired")


ensuite il apparaît un message de sécurité windev.

//////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////
Une erreur système inattendue est survenue.
Si cet incident se produit de manière systématique lorsque vous
exécutez les mêmes manipulations, il est conseillé de transmettre au
Support Technique Gratuit :
- une description des circonstances de l'incident
- les lignes de code, une fenêtre ou un projet permettant de
reproduire le problème
- les informations techniques suivantes

Détails techniques :

Module : ntdll.dll
Adresse de base : 7C910000
Erreur système : Access violation (GPF)
EIP = 7C928FEA
OS : Windows XP ou .NET Service Pack 2(5.1.2600)


**********************************************

Informations techniques

Dump de l'erreur du module <WD100VM.DLL> <10.00Mo>.

- Niveau : erreur fatale (EL_FATAL)

- Code erreur : 1020

- Code erreur WD55 : 0

- Pas de code d'erreur système

- Pas de message d'erreur système

- Que s'est-il passé ?
Une erreur système inattendue est survenue.
Si cet incident se produit de manière systématique lorsque vous
exécutez les mêmes manipulations, il est conseillé de transmettre au
Support Technique Gratuit :
- une description des circonstances de l'incident
- les lignes de code, une fenêtre ou un projet permettant de
reproduire le problème
- les informations techniques suivantes

Détails techniques :

Module : ntdll.dll
Adresse de base : 7C910000
Erreur système : Access violation (GPF)
EIP = 7C928FEA
OS : Windows XP ou .NET Service Pack 2(5.1.2600)

- Infos de debug :
Registres :

EIP = 7C928FEA EBP = 0012F9F4
EAX = 00000000 EBX = 00000000
ECX = 0000023C EDX = 01063244
ESI = 01063234 EDI = 00000000

Pile des appels :

[ntdll.dll (7C910000)] 7C928F8F : RtlpWaitForCriticalSection() + 91
bytes


- Pas d'info attachée

- Identifiant dans le .err : 1020
//////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////

Peut être que vous y verrez plus clair que moi.

Merci
Avatar
Moua
avait soumis l'idée :
ok, c'est compris j'ai déjà trouvé ce qui bloque réellement, c'est le
type de la variable raw.img qui est Variant en VB.
Sous windev, il n'accepte pas le variant. il met en retour pour
l'évènement ImageAcquired,

<< Un élément de type ne peut pas être converti vers le type
variant.>>

Si au moins il précisait le type de la variable d'origine, je saurai
quoi mettre comme type à ma variable Param_image.
voici ma fonction de callback



Cette déclaration :

vMaVariable est un variant

est-elle la solution ?
Avatar
Romain PETIT
a exposé le 13/06/2008 :
PROCEDURE Aquisition_Image(Param_ID_Sensor="DPMS6C2DB4",
Param_Largeur55,Param_image est un Variant=0 ,
Param_Hauteur90,Param_res–)



Il n'y aurait pas un paramètre de trop ?

' An image was acquired from reader
Private Sub GrFingerXCtrl1_ImageAcquired(ByVal idSensor As String,
ByVal width As Long, ByVal height As Long, rawImage As Variant, ByVal
res As Long)

A+

--
Romain PETIT
http://cerbermail.com/?O16kfXOFcq
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
Romain PETIT
Il se trouve que Romain PETIT a formulé :
a exposé le 13/06/2008 :
PROCEDURE Aquisition_Image(Param_ID_Sensor="DPMS6C2DB4",
Param_Largeur55,Param_image est un Variant=0 ,
Param_Hauteur90,Param_res–)



Il n'y aurait pas un paramètre de trop ?



ou plutot une inversion entre hauteur et rawimage ?

--
Romain PETIT
http://cerbermail.com/?O16kfXOFcq
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
yedaye
oui, c'est vrai, c'est une erreur au cours du post.
la fonction est bien écrite comme ceci :
Aquisition_Image(Param_ID_Sensor="DPMS6C2DB4", Param_Largeur55,
Param_Hauteur90,Param_image est un Variant=0 ,Param_res–)
J'avais lu dans un forum, quelqu'un qui a eu le même problème, vous
pouvez y jeter un coup d'Âœil à cette adresse:

<a href="http://www.wdforge.org/modules/newbb/viewtopic.php?
post_id 660">http://www.wdforge.org/modules/newbb/viewtopic.php?
post_id 660</a>

J'ai essayé la solution dont il a parlé (choisir de passer par les dll
et non l'activeX) mais, l'appel d'une fonction dans la dll me renvoie
toujours que la fonction n'a pas été trouvé hors j'ai bien suivi la
syntaxe écrite dans la documentation de l'SDK, bref, peut être que les
messages du forum vous aideront à me guider sur mon problème de type
de variable.
Merci
Avatar
Romain PETIT
vient de nous annoncer :

J'ai essayé la solution dont il a parlé (choisir de passer par les dll
et non l'activeX) mais, l'appel d'une fonction dans la dll me renvoie
toujours que la fonction n'a pas été trouvé hors j'ai bien suivi la
syntaxe écrite dans la documentation de l'SDK, bref, peut être que les
messages du forum vous aideront à me guider sur mon problème de type
de variable.



La solution avec l'ActiveX semble difficile...
Tu as pris contact avec la personne qui semble avoir réussi à utiliser
la DLL ?

A+

--
Romain PETIT
http://cerbermail.com/?O16kfXOFcq
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
Moua
Moua a pensé très fort :
avait soumis l'idée :
ok, c'est compris j'ai déjà trouvé ce qui bloque réellement, c'est le
type de la variable raw.img qui est Variant en VB.
Sous windev, il n'accepte pas le variant. il met en retour pour
l'évènement ImageAcquired,

<< Un élément de type ne peut pas être converti vers le type
variant.>>

Si au moins il précisait le type de la variable d'origine, je saurai
quoi mettre comme type à ma variable Param_image.
voici ma fonction de callback



Cette déclaration :

vMaVariable est un variant

est-elle la solution ?



J'ai répondu sans lire avec attention,

PROCEDURE Aquisition_Image(Param_ID_Sensor="DPMS6C2DB4",
Param_Largeur55,Param_image est un Variant=0 ,
Param_Hauteur90,Param_res–)

A la place de "Param_image est un Variant=0", mettre "Param_image est
un Variant=null" ?
Avatar
yedaye
Merci pour vos réponses.
Pour ce qui est du contact avec celui qui a utilisé les dll , je lui
est envoyé un mail mais je suis sans réponse.

Pour le variant=null, toujours la même réponse

<< Un élément de type ne peut pas être converti vers le type
variant.>>



Est-ce qu'il y a une possibilité de lire le contenu d'une dll, peut
être que c'est moi qui ne tapais pas correctement la fonction ou que
l'aide fournit avec l'SDK est erronée.
Avatar
Romain PETIT
a émis l'idée suivante :
Est-ce qu'il y a une possibilité de lire le contenu d'une dll, peut
être que c'est moi qui ne tapais pas correctement la fonction ou que
l'aide fournit avec l'SDK est erronée.



http://www.nirsoft.net/utils/dll_export_viewer.html

A+

--
Romain PETIT
http://cerbermail.com/?O16kfXOFcq
(cliquez sur le lien ci-dessus pour me contacter en privé)
1 2 3 4 5