the line in red always returns error code "memErrInvalidParam "
anybody can hele me ?
static Boolean MainFormHandleEvent(EventPtr event) {
FormPtr formP;
Boolean handled;
MemHandle mh;
FieldPtr fldPtr;
char *s ;
char *label;
char label0[30];
char lable1[10];
char lable2[50] = {'a'};
UInt16 err;
UInt16 volRefNum;
UInt32 volIterator;
MemHandle oldMh;
if(event->eType == frmOpenEvent) {
formP = FrmGetActiveForm();
FrmDrawForm (formP);
handled = true;
}
else if(event->eType == ctlSelectEvent) {
switch(event->data.ctlSelect.controlID) {
case CheckVolumnsBtn :
volIterator = vfsIteratorStart;
label = "No Volumns to Start";
while(volIterator != vfsIteratorStop) {
err = VFSVolumeEnumerate(&volRefNum, &volIterator);
if(err == errNone){
err = VFSVolumeGetLabel(volRefNum, label0, 16);
StrCat(lable2, label0);
}
//label = "errorNone";
else if(err == expErrNotOpen)
label = "expErrNotOpen ";
else if(err == vfsErrNoFileSystem)
label = "vfsErrNoFileSystem";
else if(err == vfsErrVolumeBadRef)
label = "vfsErrVolumeBadRef ";
else if(err == vfsErrBufferOverflow )
label = "vfsErrBufferOverflow ";
else if(err == vfsErrNameShortened )
label = "vfsErrNameShortened ";
else if(err == expErrEnumerationEmpty)
label = "No Volumns";
else if(err == sysErrParamErr)
label = "NormalError";
}
mh = MemHandleNew(80);
s = MemHandleLock(mh);
StrCopy(lable1, "\0");
StrCat(lable2, label0);
StrCopy(s, lable2);
label = NULL;
MemHandleUnlock(mh);
fldPtr = (FieldPtr) getObjectPtrByID(FrmGetActiveForm(),
VolumnsText);
oldMh = FldGetTextHandle(fldPtr);
if(oldMh != NULL)
err = MemHandleFree(oldMh);
FldSetTextHandle(fldPtr, mh);
FldDrawField(fldPtr);
handled = true;
default :
handled = false;
break;
}
}
else {
handled = false;
}
return handled;
}
--
For information on using the PalmSource Developer Forums, or to unsubscribe,
please see http://www.palmos.com/dev/support/forums/