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);
}

Reply via email to