hello All,
I am working in an application that is supposed to send message via sms. I have used the following code but as soon as the class is initialized and called it throws an exception. Can anyone please have a look.
CRSendAsSender.h
CRSendAsSender.cppCode:/* ============================================================================ Name : CRSendAsSender.h Author : Abhishek karmakar Version : 1.0 Copyright : Your copyright notice Description : CCRSendAsSender declaration ============================================================================ */ #ifndef CRSENDASSENDER_H #define CRSENDASSENDER_H #include <e32base.h> // For CActive, link against: euser.lib #include <e32std.h> // For RTimer, link against: euser.lib #include <BADESCA.H> #include <rsendasmessage.h> #include <rsendas.h> #include <MTCLREG.H> #include <smut.h> /*The Observer for the smssernder class ..this notifies when the message is sent.*/ /* class MRSendSMSObserver { public: virtual void MessageSentL(TInt aError); }; */ class CCRSendAsSender : public CActive { public: ~CCRSendAsSender(); static CCRSendAsSender* NewL(/*MRSendSMSObserver& aObserver,*/ const TDesC& aMessage,const TDesC& aRecipients ); private: void RunL(); void DoCancel(); TInt RunError(TInt aError); public: CCRSendAsSender(/*MRSendSMSObserver& aObserver*/); void ConstructL(const TDesC& aMessage,const TDesC& aRecipients); private: TInt iState; // State of the active object RTimer iTimer; // Provides async timing service //MRSendSMSObserver& iObserver; RSendAs iSendAs; RSendAsMessage iSendAsMessage; }; #endif // CRSENDASSENDER_H
i am calling this class from the Appui of my project .. like thisCode:/* ============================================================================ Name : CRSendAsSender.cpp Author : Abhishek karmakar Version : 1.0 Copyright : Your copyright notice Description : CCRSendAsSender implementation ============================================================================ */ #include "CRSendAsSender.h" CCRSendAsSender::CCRSendAsSender() : CActive(EPriorityStandard) // Standard priority { } CCRSendAsSender* CCRSendAsSender::NewL(const TDesC& aMessage, const TDesC& aRecipients) { CCRSendAsSender* self = new (ELeave) CCRSendAsSender(/*aObserver*/); self->ConstructL(aMessage, aRecipients); return self; } void CCRSendAsSender::ConstructL(const TDesC& aMessage, const TDesC& aRecipients) { CActiveScheduler::Add(this); // Add to scheduler User::LeaveIfError(iSendAs.Connect()); iSendAsMessage.CreateL(iSendAs, KUidMsgTypeSMS); iSendAsMessage.AddRecipientL(aRecipients,RSendAsMessage::ESendAsRecipientTo); iSendAsMessage.SetBodyTextL(aMessage); //iSendAsMessage.SendMessage(iStatus); iSendAsMessage.SendMessageAndCloseL(); SetActive(); } CCRSendAsSender::~CCRSendAsSender() { Cancel(); iSendAsMessage.Close(); iSendAs.Close(); } void CCRSendAsSender::DoCancel() { //iTimer.Cancel(); iSendAsMessage.Cancel(); } void CCRSendAsSender::RunL() { //iObserver.MessageSentL(iStatus.Int()); } TInt CCRSendAsSender::RunError(TInt aError) { return aError; }
but its showing me an 'App Closed' error after it executes completely. Any directions why is this happening ??Code:CCRSendAsSender* smssender = new (ELeave)CCRSendAsSender; smssender->NewL(data,phone);
many thanks



