Danny Epstein wrote:
>
> "Roberto Amorim" <[EMAIL PROTECTED]> wrote in message
> news:9487@palm-dev-forum...
> > HandleTemp=MemHandleNew(200);
> > HandleOrder = DmQueryRecord(PVOrder, i);
>
> You should check if HandleOrder is NULL here. This indicates that there is
> no record at the given index. This might be the problem.
>
> > RecOrder=MemHandleLock(HandleTemp);
> > UnPackOrder(RecOrder, MemHandleLock(HandleOrder));
> > if (StrCompare(RegCus->CdCus,RegOrder->CdCus))
> --
> Danny Epstein
> OS Engineer, Palm Inc.
>
> --
Hi,
I change my code and the error is more weird now.
HandleOrder = DmQueryRecord(PVOrder, PedRegCorr);
Error = DmGetLastErr();
ErrFatalDisplayIf(Error, "Unable to locate Order");
*****This test returned Error=zero*******
RecTempOrder = MemHandleLock(HandleOrder);
****The error now is here "Invalid Handle"*****
HandleTemp = MemHandleNew(200);
if (!HandleTemp) ErrDisplay("Error allocating handle");
RecOrder = MemHandleLock(HandleTemp);
UnPackOrder(RecOrder, RecTempOrder);
I used this function before to find successfully the record.
static long ReadRecOrderbyCd(CharPtr txtCdOrder)
{
int index,foundIt;
index=0;
HandleTemp=MemHandleNew(200);
do {
HandleOrder = DmQueryRecord(PVOrder, index);
RecOrder = MemHandleLock(HandleTemp);
UnPackPedido(RecOrder, MemHandleLock(HandleOrder));
foundIt = StrCompare(txtCdOrder, RecOrder->NrOrder) == 0;
if (foundIt)
{
MemHandleUnlock(HandleOrder);
MemHandleUnlock(HandleTemp);
MemHandleFree(HandleTemp);
return index;
}
MemHandleUnlock(HandleOrder);
MemHandleUnlock(HandleTemp);
index++;
} while (index < NumRecsOrder - 1);
MemHandleFree(HandleTemp);
return NULL;
}
I not even imagine what is happening.:-(
--
For information on using the Palm Developer Forums, or to unsubscribe, please see
http://www.palm.com/devzone/mailinglists.html