I am trying to call a function.  It is passing a number of variables relevant 
to calling a database.  I define the function, per a text I have.  I call the 
function.  CodeWarrior informs me:

Error   : identifier 'OpenOrCreateDB(...)' redeclared
was declared as: 'int (...)'
now declared as: 'unsigned short (void **, unsigned long, unsigned long, 
unsigned short, unsigned short, char *, unsigned char *)'


THE CALLING FUNCTION FOLLOWS (THE CALL IS MADE ONE LINE UP FROM LAST CODE LINE):



static Err AppStart(void)
{
UInt16 mode = dmModeReadWrite;
Err err = errNone;
TransStruct *c;
Boolean created;
Char* DBName = (Char*) MemPtrNew(15);  // allocate 15 bytes
DBName = "Transformers";

//Find the Transformer Database.  If it doesn't exist, create it.

OpenOrCreateDB(&gTransformer, 'DATA', '!!$g', mode, 0, DBName, &created);

return err;
}


THE FUNCTION THAT IS CALLED IS:



//NEW CODE!!!
//Open a database.  If it doesn't exist, create it.

Err OpenOrCreateDB(DmOpenRef *dbP, UInt32 type, UInt32 creator, UInt16 mode, 
UInt16 cardNo, char* name, Boolean* created)
{
Err err = errNone;
*created = false;
*dbP = DmOpenDatabaseByTypeCreator(type, creator, mode);
if (!*dbP)
{
err = DmGetLastErr();
if (err==dmErrCantFind)
        err = DmCreateDatabase(cardNo, name, creator, type, false);
if (err != errNone)
        return err;
*created = true;
*dbP = DmOpenDatabaseByTypeCreator(type, creator, mode);
if (! *dbP)
return DmGetLastErr();
}
return err;
}


Have any data types or representations of data types that were legal a few 
years ago when the code from which I am borrowing was written ceased to be 
allowed?  There are a series of additional messages after the error that begins 
this post asserting that variable names are not defined.

undefined identifier 'created'
undefined identifier 'dbP'
undefined identifier 'cardNo'

I create the following as global variables:

/*********************************************************************
 * Global variables
 *********************************************************************/
typedef struct {
        char FirstName[20];
        char LastName[20];
        char PhoneNum[20];
} TransStruct;
typedef TransStruct             TransStructType;
typedef TransStruct*            TransStructPtr;

DmOpenRef       gTransformer;


ANYONE WHO CAN CLEAR THE BASIS FOR THIS ERROR SEQUENCE UP FOR ME WOULD BE 
PROVIDING A GREAT FAVOR.  I HAVE PROBABLY FAILED TO PROPERLY DEFINE A VARIABLE 
TYPE, BUT SIMPLY DON'T SEE WHERE.  
THANK YOU.
-- 
For information on using the PalmSource Developer Forums, or to unsubscribe, 
please see http://www.palmos.com/dev/support/forums/

Reply via email to