|
Both of these errors seem quite clear as to the problem, so you need to check your parameters against what is required in the MSDN documentation.
The best things in life are not things.
|
|
|
|
|
Hi
Thanks for replying & for helping me!
Would you mind giving me a steer where in MSDN massive library where I can find a list of all the parameters that is expected when opening an email with a template?
Thanks
|
|
|
|
|
Just go to MSDN and use the search box for the function that you are trying to use.
The best things in life are not things.
|
|
|
|
|
Thanks
I will have ago to see if I can find what I need, but do you mind if I can call on your help if I get stuck?
|
|
|
|
|
I am afraid I have not used this function myself, but here[^] is a link that may be of use.
The best things in life are not things.
|
|
|
|
|
what object is m_outlook and what method is 0x10a ?
I don't think your problem is with invokeHelper, I think it's with the underlying method in the m_outlook object
|
|
|
|
|
Hi
The code is based upon this website:
http://repositorium.googlecode.com/svn/trunk/AbstractSpoon/OutlookImpExp/Source/msoutl.cpp
Yes, there is a mistake it should say m_outlook->invokehelper and m_outlook is the name for outlook object which I have called before to start MS Outlook. The next step is to open an email template that is given a template file path and to display this to the user.
I have tried searching MSDN for help, but I can't find any help.
The code I have used is based upon this from the website above:
LPDISPATCH _Application::CreateItemFromTemplate(LPCTSTR TemplatePath, const VARIANT& InFolder)
{
LPDISPATCH result;
static BYTE parms[] =
VTS_BSTR VTS_VARIANT;
InvokeHelper(0x10b, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
TemplatePath, &InFolder);
return result;
}
I have tried passing in NULL for the last parameter as there is no folder involved, but I am guessing on a lot of this because I have no idea what the exact definition of the method in MS Outlook for 0x10a or 0x10b. As I have said I can't find in MSDN any definition for this.
Can you help?
|
|
|
|
|
Looking at the type Library for Microsoft Outlook ...
[id(0x0000010a), helpcontext(0x000002ca)]
IDispatch* CreateItem([in] OlItemType ItemType);
[id(0x0000010b), helpcontext(0x000002cb)]
IDispatch* CreateItemFromTemplate(
[in] BSTR TemplatePath,
[in, optional] VARIANT InFolder);
which gets me to ...
http://msdn.microsoft.com/en-us/library/aa220081(v=office.11).aspx[^]
Does that help any?
|
|
|
|
|
Thanks for your email.
I had a look at the link you gave me from MSDN.
However, I am still just as confused and still stuck. The code I have been given is that in my original posting. I have an Outlook object, because this code is not falling over, but I can create a mail item for a template.
|
|
|
|
|
in your original code snippet, you're using a CString , you need to use a BSTR
use the AllocSysString() method in CString
that may help
|
|
|
|
|
Ok, so are you saying I need to convert CString to BSTR and AllocSysString() to do this?
|
|
|
|
|
Just to let you know that I followed what you said, but it threw an unhandled exception.
Here is the code as it on screen
OpenOutlookNewMessageWithMsgFile(CString filePath)
//Call CreateItemFromTemplate to create new mailitem using late binding
LPDISPATH mailItem
static BYTE params[] = VTS_BSTR VTS_VARIANT ;
BSTR bFilePath = filePath.AllocSysString();
outlookApp->InvokeHelper(0x10b, DISPATCH_METHOD, VT_DISPATCH, (void*)&mailItem, params, bFilePath, NULL);
outlookMailItem = new COleDispatchDriver(mailItem);
//Set User Properties
SetProperties();
//Set Display of Mail Item
VARIANT_BOOL modal = VARIANT_FALSE;
static BYTE params2[] = VTS_I4;
outlookMailItem->InvokeHelper(oxf0a6,DISPATCH_METHOD,VT_EMPTY, NULL, params2, &modal);
So, this is the whole for creating an email from template, but it is on outlookApp->InvokeHelper that I am having a problem. What am I doing wrong?
|
|
|
|
|
I believe your problem is with the last parameter to "CreateItemFromTemplate". NULL is not the correct way to pass an [in, optional] VARIANT. There is no need to convert filePath to a BSTR, presuming that "outlookApp" is indeed an COleDispatchDriver. Do cast it to an LPCTSTR, InvokeHelper expects an in param defined as a VTS_BSTR to be an LPCTSTR, MFC's implementation of COleDispathDrvier will do the BSTR conversion for you inside the InvokeHelper call.
OpenOutlookNewMessageWithMsgFile(CString filePath)
{
COleVariant varOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);
LPDISPATCH mailItem;
static BYTE params [] = VTS_BSTR VTS_VARIANT ;
outlookApp->InvokeHelper(0x10b, DISPATCH_METHOD, VT_DISPATCH, (void*)&mailItem, params, (LPCTSTR)filePath, &varOptional);
|
|
|
|
|
Thank you for your reply.
Because I do not have a folder for the email to be created in and wish to use the default folder inside Outlook, what parameter should I use, or should I only pass in the parameters I am using and Outlook can then interpret this?
|
|
|
|
|
Ignore my last message - I tried your solution and it worked!
Thanks for your help!
|
|
|
|
|
Hello All,
I am new with c!! Can anybody give me the code for following result
Input:aababba
Output:a2bab2a
Its like encrypt given value.
Thanks in advance.
|
|
|
|
|
Well since it would appear to be RLE [Run Length Encoding], I would google for that.
|
|
|
|
|
Thank you.I got code for same on google!!
|
|
|
|
|
here is an algorithm that should do it, in pseudo-code:
char prev=0;
int count=0;
foreach(char c in the input) {
if (c!=prev) {
if (count>1) output(count);
output(c);
prev=c;
count=0;
}
count++;
}
It is a bit tricky, I suggest you study it first (test it by hand!), then implement it in C and test it again.
Luc Pattyn [Forum Guidelines] [My Articles] Nil Volentibus Arduum
Please use <PRE> tags for code snippets, they preserve indentation, improve readability, and make me actually look at the code.
|
|
|
|
|
Well, you're always right: after all, C# code is pseudo-code.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
CPallini wrote: you're always right
Luc Pattyn [Forum Guidelines] [My Articles] Nil Volentibus Arduum
Please use <PRE> tags for code snippets, they preserve indentation, improve readability, and make me actually look at the code.
|
|
|
|
|
hi
i am trying to encrypting the existing file and folder using the zip archive lib.
here is the code
CZipArchive sar;
sar.Open(_T("C:\\1234.zip"), CZipArchive::zipCreate);
sar.SetCompressionMethod(CZipCompressor::methodBzip2);
sar.AddNewFile(_T("C:\\1234.txt"));
sar.AddNewFile(_T("C:\\sar1"));
sar.AddNewFile(_T("C:\\afzal.txt"));
but i want to do 1234.txt itself an zip file or directory ie existing not by adding the file or folder to a zip file .......
i studied encrypt file method i did't understood the code which they mention in the help file how to use it ..
is there any other way to encrypt it using the zip archive lib
plz help me out this
thanking you
sarfaraz
|
|
|
|
|
I have done this by using an open source
Info Zip->[^]
"Every Little Smile can touch Somebody's Heart...
May we find Hundreds of Reasons to Smile Everyday... and
May WE be the Reason for someone else to smile always!" (ICAN)
|
|
|
|
|
Try asking your question of the author of CZipArchive here[^].
The best things in life are not things.
|
|
|
|
|
how to use it this function CZipArchive::EncryptFile()in MFC in ZIP archive lib they have mention that this function is used encrypt the existing file.i am not able to understand the what parameter does it take uindex means please make it clear with example code ......
|
|
|
|