Thanks for your help!
One more thing... can you tell me if this function is correct?

void SetFieldValue( FieldPtr field, UInt16 fieldLen, UInt16 *Offset)
///Problema em ler o valor Offset
{
MemHandle FieldTextHandle;
const char* FieldText;
DBRecordPtr RecordPtr;


 FieldTextHandle = FldGetTextHandle(field);
 // Clear any existing text first
 FldSetTextHandle(field, NULL);


if (FieldTextHandle == NULL) { FieldTextHandle = MemHandleNew(fieldLen); } else { MemHandleResize(FieldTextHandle, fieldLen); }

 FieldText = (const char*) MemHandleLock(FieldTextHandle);
 RecordPtr = (DBRecordPtr) MemHandleLock(CurrRecHandle);

 StrCopy( FieldText,  RecordPtr[*Offset]);<=================
//  *Offset += StrLen(RecordPtr[*Offset]) + 1;

 MemHandleUnlock(CurrRecHandle);
 MemHandleUnlock(FieldTextHandle);
 FldSetTextHandle(field, FieldTextHandle);
}

In PASCAL it's like this:
procedure SetFieldValue(Field : FieldPtr;FieldLen : UInt16;var Offset :
UInt16);
var
FieldTextHandle : MemHandle;
FieldText : PChar;
RecordPtr : PChar;
begin
FieldTextHandle := FldGetTextHandle(Field);
// Clear any existing text first
FldSetTextHandle(Field,nil);


 if FieldTextHandle = nil then begin
   FieldTextHandle := MemHandleNew(FieldLen);
 end else begin
   MemHandleResize(FieldTextHandle,FieldLen);
 end;

 FieldText := MemHandleLock(FieldTextHandle);
 RecordPtr := MemHandleLock(CurrRecHandle);

 StrCopy(FieldText,@RecordPtr[Offset]);
 Offset := Offset + StrLen(@RecordPtr[Offset]) + 1;

 MemHandleUnlock(CurrRecHandle);
 MemHandleUnlock(FieldTextHandle);

 FldSetTextHandle(Field,FieldTextHandle);
end;

The OffSet value that is passed to the function is "var OffSet". So how
can i pass it in C language? like &offset? Or *offset?
In the line that I put an arrow I have an error saying:
"function call 'StrCopy({lval} const char *, {lval} DBRecord *)' does not match 'StrCopy(char *, const char*)' "





-- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/

Reply via email to