i use PhnLibSendMessage to send sms message. if message length is less then 160
chars then everything works correctly
when message is bigger then 160chars then on my unlocked gsm treo680 and
treo650 message is split to segments and sent correctly - receiving side will
get all parts
when message is longer then 160chars on Sprint CDMA treo then only first part
of message is received, rest is lost
code i use to send message is attached
do i miss something to make it work on cdma?
--
also another thing - when i send message like this then outgoing message is
saved to wrong database and builtin sms application doesn't see it. is there
any way to persuade phone library to use correct database? this happens on all
treos
thanks in advance
--
For information on using the ACCESS Developer Forums, or to unsubscribe, please
see http://www.access-company.com/developers/forums/
Boolean PhoneSendSms(UInt32 creator, char *number, char *msg)
{
Boolean ok;
UInt32 msgID;
PhnAddressList addList;
PhnAddressHandle addressH;
Err err;
ok=(number && number[0] && msg && msg[0] && PhoneOn());
if(ok)
{
ok=false;
msgID=PhnLibNewMessage(phoneLibRef,kMTOutgoing);
if(msgID)
{
PhnLibSetOwner(phoneLibRef,msgID,creator);
PhnLibSetText(phoneLibRef,msgID,msg,StrLen(msg));
addList=PhnLibNewAddressList(phoneLibRef);
if(addList)
{
addressH=PhnLibNewAddress(phoneLibRef,number,phnLibUnknownID);
if(addressH)
{
PhnLibAddAddress(phoneLibRef,addList,addressH);
MemHandleFree(addressH);
PhnLibSetAddresses(phoneLibRef,msgID,addList);
err=PhnLibSendMessage(phoneLibRef,msgID,true);
ok=(!err);
}
}
if(!ok)
PhnLibDeleteMessage(phoneLibRef,msgID,false);
}
}
return(ok);
}