Prototype

Char *StrIToA (
   Char *s,
   Int32 i
)

Parameters

â s
    Pointer to a string of size maxStrIToALen in which to store the
results.
â i
    Integer to convert.

        char * size = "12";           
        strDisplay = StrIToA (size,display);

======================

        Jim,

As the above text states, the first parameter in StrIToA is a char
pointer with at least maxStrIToALen bytes, that will receive the converted string. The char pointer you are
passing has only 3 bytes ("12\0"). Try to create it as follows:


        char size[maxStrIToALen];

        If it doesn't compile, you may need to allocate the memory dinamically:
        char *size = MemPtrNew(maxStrIToALen);

        Don't forget to call MemPtrFree later to free the memory.

strDisplay will only receive a pointer to the buffer, so you don't need to initialize it.
Try:
char *strDisplay;
instead of:
char * strDisplay = "this is a test";


        Luciano Stertz

Jim Coburn wrote:
Luciano,


I get a different memory location but the same effect if I try to cast 'display" as a char * in the line from CtlGetValue.

The function code is as follows:

Boolean MainFormDoCommand(UInt16 command)
{
Boolean handled = false;

//get the Main form pointer
FormType * frmP = FrmGetActiveForm();

//set up slider
ControlType * sldPtr;
char * size = "12";
char * strDisplay = "this is a test";
int display;

//set up field FieldType *field;
UInt16 fieldIndex;


        
        ...

                case MainInputSlider:
                        
                        sldPtr = FrmGetObjectPtr(frmP,
FrmGetObjectIndex(frmP,MainInputSlider));
                        display = (long)CtlGetValue(sldPtr);//returns the
value of the slider
                        
                        strDisplay = StrIToA (size,display);
                        
                        fieldIndex = FrmGetObjectIndex(frmP,
MainOutputField);
                        field = (FieldType *)FrmGetObjectPtr(frmP,
fieldIndex);
                        FrmSetFocus(frmP, fieldIndex);
                        
                        
                        
                        FldInsert(field,strDisplay,StrLen(strDisplay));
                        
                        handled = true;
                        break;
                
                        

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

Reply via email to