I have the following code (greatly simplified here for illustration..).

char  Item1[4];
char  Item2[2];
char  Item3[4];

char* MyArray[3] ={Item1,Item2,Item3};

Main()
{
    MyFunction(MyArray[1],MyArray[2]);
}

MyFunction(char* val1, char* val2)
{
    if(*(UInt*)Val1 != *(UInt*)Val2)
    {
      do something;
    }
}

My intent is to compare the values of the elements in the Item arrays.  It's
ugly, but it works. Well on a Tungsten it does.  On an m100 the if statement
creates a fatal error.  Due to program hardware requirements and precise
communication timing needed that keeps me from running it in the emulator, I
am unable to run the code in the debugger.

Any ideas?

One thing, I am running up near the 64k code size.  Could this be the
problem? Too far a jump to read that memory?  Does the tungsten not have
that jump problem (I'm only vaguely familiar with the jump issues).  Oddly,
the same code works when a different item array element is being passed.  In
the real code, MyArray has 33 Item elements and there are the corresponding
Item arrays. The Item arrays are either 2 or 4 elements.

Thanks,
Mike







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

Reply via email to