mordaz
12-08-2014, 11:24:36
Buenos dias,
Estoy utilizando un Control Active X en C++ Builder 6 y estoy tratando de usar una función que recibe como parámetro un puntero BSTR*, pero al ejecutar la función me marca error de memoria.
En concreto la función que deseo utilizar es la siguiente:
TOLEBOOL __fastcall GetUserTmpExStr(long dwMachineNumber/*[in]*/,
BSTR dwEnrollNumber/*[in]*/, long dwFingerIndex/*[in]*/,
long* Flag/*[out]*/, BSTR* TmpData/*[out]*/,
long* TmpLength/*[out]*/);
Y la estoy empleando de esta manera:
void __fastcall TForm1::CZKEM1EnrollFingerEx(TObject *Sender,
BSTR EnrollNumber, long FingerIndex, long ActionResult,
long TemplateLength)
{
if (ActionResult==0)
{
long TLength;
long flag;
BSTR Tempdata;
if (CZKEM1->GetUserTmpExStr(CZKEM1->MachineNumber,EnrollNumber,FingerIndex,&flag,&Tempdata,&TLength))
{
}
}
}
Todos los parametros de entrada los recibe de la propia función y están bien inicializados, el problema es con los 3 ultimos parámetros de salida.
Agradezco su ayuda.
Estoy utilizando un Control Active X en C++ Builder 6 y estoy tratando de usar una función que recibe como parámetro un puntero BSTR*, pero al ejecutar la función me marca error de memoria.
En concreto la función que deseo utilizar es la siguiente:
TOLEBOOL __fastcall GetUserTmpExStr(long dwMachineNumber/*[in]*/,
BSTR dwEnrollNumber/*[in]*/, long dwFingerIndex/*[in]*/,
long* Flag/*[out]*/, BSTR* TmpData/*[out]*/,
long* TmpLength/*[out]*/);
Y la estoy empleando de esta manera:
void __fastcall TForm1::CZKEM1EnrollFingerEx(TObject *Sender,
BSTR EnrollNumber, long FingerIndex, long ActionResult,
long TemplateLength)
{
if (ActionResult==0)
{
long TLength;
long flag;
BSTR Tempdata;
if (CZKEM1->GetUserTmpExStr(CZKEM1->MachineNumber,EnrollNumber,FingerIndex,&flag,&Tempdata,&TLength))
{
}
}
}
Todos los parametros de entrada los recibe de la propia función y están bien inicializados, el problema es con los 3 ultimos parámetros de salida.
Agradezco su ayuda.