Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Byte array
Message
From
17/05/2010 10:12:50
Gary Foster
Pointsource Consulting LLC
Chanhassen, Minnesota, United States
 
 
To
14/05/2010 12:13:11
Emerson Reed
Folhamatic Tecnologia Em Sistemas
Americana - São Paulo, Brazil
General information
Forum:
Visual FoxPro
Category:
ActiveX controls in VFP
Title:
Environment versions
Visual FoxPro:
VFP 9
OS:
Vista
Database:
Visual FoxPro
Application:
Desktop
Miscellaneous
Thread ID:
01464557
Message ID:
01464881
Views:
118
Hi Emerson,

I've only used this with instantiated COM servers and the ActiveX control might be handling the arrays quite differently. I'm afraid I'm over my head here.

That said, here are some questions:

>Maybe I need to initialize array elements with some value? If yes, what value?
The array will recieved by a COM server as a SafeArray of bytes (VT_UI1), presumably so the server can redimesion and fill with data. I wouldn't think you'd have to set any values, but you might have to experiment.

I assume the line "If .oleCaptura.GetMinutiaeData(@laDig1)" if failing.
Is the array unchanged after the call?
Does the ActiveX control throw an error?
What do you expect to see in the array?

Gary


>Hi Gary.
>I've tried the code above, without success.
>Maybe I need to initialize array elements with some value? If yes, what value?
>
>
>With Thisform
>   Local laDig1, laDig2
>   Dimension laDig1[.oleCaptura.MinutiaeSize] As Byte
>   Dimension laDig2[.oleCaptura.MinutiaeSize] As Byte
>   If .oleCaptura.LiveCapture(6000,50)
>      Do While Not .oleCaptura.IsCaptured
>      Enddo
>      Comarray(.oleCaptura,10)
>      If .oleCaptura.GetMinutiaeData(@laDig1)
>         Thisform.oleCaptura.Clear()
>         If .oleCaptura.LiveCapture(6000,50)
>            Do While Not .oleCaptura.IsCaptured
>            Enddo
>            Comarray(.oleCaptura,10)
>            If .oleCaptura.GetMinutiaeData(@laDig2)
>               Comarray(.oleCaptura,10)
>               Messagebox(.oleVerifica.GetMatchingScore(laDig1, laDig2),64,"Score") && Always returns 0, value must be greater than 100!
>               Comarray(.oleCaptura,10)
>               If .oleVerifica.Register(laDig1, laDig2) && Return invalid parameter error
>               Else
>                  Messagebox(.oleVerifica.ErrorString,16,"Erro 1")
>               Endif
>            Else
>               Messagebox(.oleCaptura.ErrorString,16,"Erro 2")
>            Endif
>         Else
>            Messagebox(.oleCaptura.ErrorString,16,"Erro 3")
>         Endif
>      Else
>         Messagebox(.oleCaptura.ErrorString,16,"Erro 4")
>      Endif
>   Else
>      Messagebox(.oleCaptura.ErrorString,16,"Erro 5")
>   Endif
>   Comarray(.oleCaptura)
>Endwith
>
Previous
Reply
Map
View

Click here to load this message in the networking platform