![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
#1
|
|||
|
|||
|
OleVariants
Hola a todos.
he desarrollado un servidor de aplicaciones el cual utilizo una variable de tipo OleVariant y el el codigo bloqueo esta variable para trabajar con ella (VarArraryLock) y cargarle valores y luego la desbloqueo (VarArrayUnLock) e inmediatamente despues al utilizarla me genera la excepción: 'Variant or safe array is locked.' Si alguien me puede dar una luz le agradecería muchísimo. |
|
#2
|
||||
|
||||
|
Muestranos codigo...
__________________
El malabarista. |
|
#3
|
|||
|
|||
|
Hola! , gracias por el interés
.El programa recibe el codigo biometrico de una huella dactilar (Digital Persona) y otra que recupera de una base de datos. Aca te muestro un poco del codigo resumido para q se entienda puntualmente: Código:
{*} HuellaBio:= VarArrayCreate([0,616],varByte);
BufferBio:= VarArrayLock(HuellaBio);
/// aca lleno el variante a través del arreglo de bytes.
for Desp:= 0 to 616
do BufferBio[Desp]:= ArregloDactilar[Desp];
VarArrayUnlock(HuellaBio);
{*} HuellaBD:= VarArrayCreate([0,Longitud-1],varByte);
BufferBD:= VarArrayLock(HuellaBD);
/// aca lleno el variante a través del arreglo de bytes.
for Desp:= 0 to 616
do BufferBD[Desp]:= ArregloBD[Desp];
{*} VarArrayUnlock(HuellaBD);
TemplateBD.Import(HuellaBD); /// TemplateBD es un objeto
VarClear(HuellaBD);
TemplateBio.Import(HuelaBio);
VarClear(HuellaBio);
Y acá se produce la excepción: (Verificador es un objeto que provee el sdk del lector)
Verificador.Compare(TemplateBD,TemplateBio,m_verifyOk,m_score,m_threshold,m_learning,m_security);
Pues espero q este claro. Por favor si puedes ayudarme te lo agradecería el resto de mi vida. Esto es lo ultimo que me falta para entregar un sistema y me esta partiendo la cabeza. Última edición por AngelMarvin fecha: 21-09-2004 a las 07:32:05. |
|
#4
|
||||
|
||||
|
Una soluciona a lo bestia: y si le quitas por completo los VarArrayLock y Unlock? No te debe dar ningun problema prescindir de ellos porque se usan para darle mas desempeño (como en los dataset Disable/EnableControls), pero el tamaño de la matriz y el tipo de datos no lo justifica.... Otra seria COPIAR la matriz a otra matriz y esa pasarla a verificador.
__________________
El malabarista. |
![]() |
|
|
|