|
Hi All,
I want to move mail to another folder.
I am getting exception in code:
_MailItemPtr mailPtr;
..
..
..
MAPIFolderPtr temp=g_pNsp->GetFolderFromID(_bstr_t(Selected_Action_Folder.szEntryID));
mailPtr->Move(temp);
|
|
|
|
|
did you debug to check if values are initialized properly and why is it crashing? If not, this may be the right time to do this activity.
You need to google first, if you have "It's urgent please" mentioned in your question.
_AnShUmAn_
|
|
|
|
|
MPTP wrote: mailPtr->Move(temp);//here
What are the vakues of mailPtr and temp ?
"Old age is like a bank account. You withdraw later in life what you have deposited along the way." - Unknown
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
|
|
|
|
|
Please I need help on this, I'm new in C++.
Here are the details:
1. I have a base class and 3 derived classes:
Base class
class CRepositoryData
{
...
};
Derived classes
class CUser_data : public CRepositoryData
{
...
};
class CLock_data : public CRepositoryData
{
...
};
class CReferences_data : public CRepositoryData
{
...
};
2. My declaration for my classes in my function uses CList <>
main()
{
CList <CLock_data,CLock_data&> listLockDataTemp_L;
CList <CReferences_data,CReferences_data&> listLocationDataTemp_L;
CList <CUser_data,CUser_data&> listUserDataTemp_L;
if(Lock)
{
CreateBatchToSend(
dynamic_cast<CList<CRepositoryData,CRepositoryData&>*>(&listLockDataTemp_L));
}else if(CReferences)
{
CreateBatchToSend(
dynamic_cast<CList<CRepositoryData,CRepositoryData&>*>&listLocationDataDataTemp_L));
}else
CreateBatchToSend(
dynamic_cast<CList<CRepositoryData,CRepositoryData&>*>(&listUserDataTemp_L));
}
}
3. Is this code possible for my CreateBatchToSend()?
BOOL CreateBatchToSend(CList <CRepositoryData,CRepositoryData&> *pListRepData_P)
{
...
CList <CLock_data,CLock_data&> listLockDataTemp_L;
listLockDataTemp = dynamic_cast<CList<CLock_data,CLock_data&>*>pListRepData_P;
...
}
4. I am trying to create a function that can take those 3 derived classes in a list by using the base class as the argument and then use dynamic cast to revert back to their respective class.
Do I need to use other containers to implement this?
Any suggestions would be very helpful. Thanks a lot...
|
|
|
|
|
I am not sure I understood your question but what you are trying to do is not really correct. You can't cast to CList<CLock_data,CLock_data&>* from a CList <CRepositoryData,CRepositoryData&> * . These are two different types (even if the class used for template arguments are parent/child).
A better approache would be to use polymorphism: instead of manipulating a list of CRepositoryData objects, simply manipulate a list of pointers to CRepositoryData objects. This way, the pointer can point to a CRepositoryData object or to a child object.
This has also another advantage: all the lists can be manipulated the same way (and you could maybe even reduce them to one single list).
|
|
|
|
|
A ok. You're right. I need the pointer to CRepositoryData object.
My main problem is i have this 3 different functions that will call one function(Create_Batch_to_Send()) with CRepositoryData as the argument:
Function1 - calls Create_Batch_to_Send(CList<CUserdata,CUserdata&>*listUserData)
Function2 - calls Create_Batch_to_Send(CList<CLockdata,CLockdata&>*listLockData)
Function3 - calls Create_Batch_to_Send(CList<CReferencedata,CReferencedata&>*listReferenceData)
I want Create_Batch_to_Send() function to handle those 3 list. That's where my problem occurs. I dont know what argument i should use.
Sir please can you give me an example on how to make this pointer to CRepositoryData as an argument to
Create_Batch_to_Send(). Thank you very much...
|
|
|
|
|
void Create_Batch_to_Send(const CList<CRepositoryData*> & listUserData)
(it is also better to pass the list by reference, so that you don't make a copy of it).
But of course, all your lists should manipulate pointers and not objects. Thus, you will need to create your objects dynamically (using new) and not forget to delete them once you don't need them anymore.
In your function, it really depends what you have to do with the objects but in most of the cases, you probably won't need to cast anything.
|
|
|
|
|
You could make Create_Batch_To_Send a template function:
template<class ListElementType>
BOOL Create_Batch(CList <ListElementType,ListElementType&> *pListRepData_P)
{
}
This does have the obvious disadvantage that you'll have multiple copies of the function.
Java, Basic, who cares - it's all a bunch of tree-hugging hippy cr*p
|
|
|
|
|
Our coding rules does not allow me to make the function a template but thanks anyway.
I cant seem to make it work on making my list and passing it to the batch function.
I call void Create_Batch_To_Send(const CList<CRepositoryData*> &listRepData)) considering the earlier reply.
myfunc()
{
CList<CUser_data, CUser_data&>* UserParentlist;
UserParentlist = new CList<CUser_data, CUser_data&>;
Create_Batch_To_Send(UserParentlist);
}
It does not work. Can you provide me with the exact syntax. Many thanks to all.
I think passing a CList derived class to a function that has an argument of the CList base class
is not possible. since inside my create_batch_to_send() I must be able to differentiate those 3 derived class. The first thing I did was like
create_batch_to_send(IN DATALIST dataType_P,IN POSITION &startPosition,
IN int number_of_Record_To_Copy,
OUT CList <CUser_data,CUser_data&> *plistUserdata_P,
OUT CList <CLock_data,CLock_data&> *plistLockData_P,
OUT CList <CReferences_data,CReferences_data&> *plistLocationData_P)
The enhancement that i want to make was to use the base class of these 3 classes as one argument only.
|
|
|
|
|
blontek wrote: Our coding rules does not allow me to make the function a template
Any sensible reason for that coding rule, or the usual anti-template FUD?
blontek wrote: I think passing a CList derived class to a function that has an argument of the CList base class
CList is NOT a base class. It's a template class. The instantiated list classes for your different data types have no common base class - nothing in common whatsoever, except that they've been created from the same template.
Java, Basic, who cares - it's all a bunch of tree-hugging hippy cr*p
|
|
|
|
|
Hello,
I have following queries regarding CWebbrowser Control:
1. How does CWebBrowser control get its proxy setting?
2. How to make it get the proxy setting of default web browser - IE, Firefox or Chrome?
Thank you,
Best wishes...
|
|
|
|
|
CWebbrowser Control is used IE proxy setting.
|
|
|
|
|
If i uninstall IE it still is taking somesetting and running.
|
|
|
|
|
You can change the proxy with InternetSetOption method from the wininet.dll
|
|
|
|
|
How to make WebBrowser to take setting from default webbrowser. For example it should take from Firefox if it is default browser.
Thank you..
|
|
|
|
|
Member 3834630 wrote: For example it should take from Firefox if it is default browser
Why? The web browser control is always Internet Explorer under the hood, even if you've uninstalled IE. It doesn't magically use your default browser.
Java, Basic, who cares - it's all a bunch of tree-hugging hippy cr*p
|
|
|
|
|
Thank you. Yes, it doesnt magically get setting from default browser.
My question is, how to make Webbrowser to get setting from Firefox, if it is make default browser? Is this possible or not?
Thanks..
|
|
|
|
|
Member 3834630 wrote: how to make Webbrowser to get setting from Firefox
By making sure that the Internet Explorer proxy settings are the same as the Firefox settings...yourself.
Java, Basic, who cares - it's all a bunch of tree-hugging hippy cr*p
|
|
|
|
|
I have two processes creating an instance of CWebBrowser, is it possible to have different proxy settings for these two processes?
|
|
|
|
|
Hi All
I am useing CDatabase and OBDC to write data in Excel.i hava a problem in some specific condition like
"Create table test(Value Varchar(20),Type varchar(30)); .
That time i am getting exception message
Syntax error in filed defintion.
Can anyone help me to remove that problem.
|
|
|
|
|
|
Hi,
is There any Third party tool to detect resource leaks...
or is it possible to write my own code to detect the same..
if yes pls help me with any sample....
|
|
|
|
|
Try BoundsChecker or Purity
|
|
|
|
|
I prefer more to use Deleaker - russian alternative to BoundsChecker, it works more perfectly.
|
|
|
|
|
What kind of resource? GDI or handles?
|
|
|
|