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. |
|
|
|