_MailItem->GetSendOn(&date) throws an exception

Status
Not open for further replies.
N

nikolayds

Hi All,

I am migrating my plugin from 2003 to 2007 Outlook.

A following code is throwing me exception:

<code
COleVariant covIndex;

covIndex.vt = VT_I4;

covIndex.lVal = 1;

olSelectedItem = olSel->Item(covIndex);

CComQIPtr<Outlook::_MailItem> pMailItem(olSelectedItem);

CComPtr<Outlook::_MailItem> pItemT = pMailItem;

Outlook::OlObjectClass oc = pItemT->GetClass(); //works

DATE dt = 0;

dt = pItemT->SendOn; //Fails with exception

CLSID clsid;

hr = ::CLSIDFromProgID(L"Redemption.SafeMailItem", &clsid);

CComPtr<Redemption::ISafeMailItem> spSafeMailItem;

hr = ::CoCreateInstance(clsid, NULL, CLSCTX_INPROC_SERVER,__uuidof

(ISafeMailItem),(void**)&spSafeMailItem );

hr = spSafeMailItem->put_Item(pItemT);

BSTR name = SysAllocStringLen(L"", 1000);

hr = spSafeMailItem->get_SenderName(&name); //works

return;

</code
Exception is address violation.

I strongly suspect the issue is with how the params are passed, because all

functions with parameters on Outlook::_MailItem are failing where all others

are OK.

Here is what I have in StdAfx

<code
#import "C:\Program Files\Common Files\Microsoft Shared\OFFICE12\mso.dll"

rename("RGB", "RGB_") \

rename("DocumentProperties", "DocProps") rename("FindText", "WordFindText") \

rename("PlaySound", "OfficePlaySound")\

rename_namespace("Office")

using namespace Office;

#import "C:\Program Files\Microsoft Office\Office12\MSOUTL.OLB" rename

("CopyFile", "CopyFile_") \

rename("PlaySound", "OutlookPlaySound")\

rename_namespace("Outlook")

using namespace Outlook;

</code
The code is working just fine in OL 2003
 
Here is the fix: (must use a raw method and queryInterface)

<code
HRESULT hr = olSel-
> raw_Item(covIndex,&olSelectedItem);


if(FAILED(hr)) continue;

Outlook::_MailItem * pMailItem = NULL;

hr = olSelectedItem->QueryInterface(__uuidof(Outlook::_MailItem),

(void**)&pMailItem);

if(FAILED(hr)) continue;

//CComQIPtr<Outlook::_MailItem> pMailItem(olSelectedItem);

CComPtr<Outlook::_MailItem> pItem = pMailItem;

</code
After that the methods are working fine in OL 2007.
 
Status
Not open for further replies.
Similar threads
Thread starter Title Forum Replies Date
P MailItem.To Property with VBA not work Outlook VBA and Custom Forms 2
G Event when creating task from mailitem Outlook VBA and Custom Forms 2
A Run-time error '430' on certain emails when trying to set "Outlook.mailitem" as "ActiveExplorer.Selection.Item" Outlook VBA and Custom Forms 2
U Outbox Message Stuck after reading some MailItem Properties with VBA Outlook VBA and Custom Forms 1
oliv- Best practice for catching mailitem.events Outlook VBA and Custom Forms 0
oliv- How to select an mailitem in explorer with "show as conversation" Outlook VBA and Custom Forms 8
JorgeDario How to capture and save the text, when responding a MailItem? Outlook VBA and Custom Forms 3
JorgeDario how to check a MailItem has a digital signature (SMIME) with vba? Outlook VBA and Custom Forms 1
JorgeDario ¿What property of mailitem can be used like primary key? Outlook VBA and Custom Forms 6
S Outlook VBA rule script to process both MailItem and MeetingItem Using Outlook 0
B right click outlook objects in OL2010 acts on current inbox mailitem Using Outlook 6
C MailItem Find method doesn't work Using Outlook 0
C MailItem.SaveAs not working Outlook VBA and Custom Forms 10
G RE:The signature is also inserted if you touch the MailItem. Outlook VBA and Custom Forms 1
B Add signature to MailItem Outlook VBA and Custom Forms 3
C How can I create a new MailItem inside a user folder? Outlook VBA and Custom Forms 4
S Create a new Outlook MailItem in an Outlook folder(not a draft) Outlook VBA and Custom Forms 2
A How to get OOM MailItem Raw data Outlook VBA and Custom Forms 2
S Saved Property of MailItem is copied Outlook VBA and Custom Forms 1
S MailItem Find Method question Outlook VBA and Custom Forms 6
N Getting the attachments in MailItem Outlook VBA and Custom Forms 1
T How to get MailItem.Body without security warning in Outlook 2010 Outlook VBA and Custom Forms 2
S ->[O2007] Parsing each line of a MailItem HTMLBody? Outlook VBA and Custom Forms 2
T How to get Inspector or MailItem from wordEditor Outlook VBA and Custom Forms 6
A Select the position of an attached file in a HTML mailitem Outlook VBA and Custom Forms 1
M MailItem object has no property for when a reply was sent Outlook VBA and Custom Forms 3
B Insert information to MailItem Outlook VBA and Custom Forms 1
E Properties added to MailItem in ItemSend event visible to recipien Outlook VBA and Custom Forms 1
V Setting HTMLBody of new mailItem Outlook VBA and Custom Forms 1
V How to find mailitem in the inspector is a brand new one Outlook VBA and Custom Forms 2
M Activate "Add digital signature to this massage" on a MailItem? Outlook VBA and Custom Forms 1
K importing EML in MailItem Outlook VBA and Custom Forms 1
A mailitem Send issue Outlook VBA and Custom Forms 5
M Get email address from MailItem.To? Outlook VBA and Custom Forms 6
S UserProperties of MailItem object. Outlook VBA and Custom Forms 3
R How to capture a Mailitem Event Outlook VBA and Custom Forms 3
S get current position in message body of mailitem Outlook VBA and Custom Forms 8
S How to get RFC822 format message from the MailItem object. Outlook VBA and Custom Forms 4
J Toolbar button to process current mailitem Outlook VBA and Custom Forms 1
D MailItem from an RSS feed Outlook VBA and Custom Forms 2
J Outlook 2007 crashed when pushing send on a displayed mailitem Outlook VBA and Custom Forms 1
N Memory with MailItem.Send Outlook VBA and Custom Forms 1
P Adding a button in a mailitem Outlook VBA and Custom Forms 1
S Reading mailitem after mail is send give runtime error. Outlook VBA and Custom Forms 1
D Max. length of MSO MailItem.EntryID Outlook VBA and Custom Forms 6
R MailItem.Display() error Outlook VBA and Custom Forms 1
R Clone mailitem Outlook VBA and Custom Forms 5
R MailItem Outlook VBA and Custom Forms 2
D Length of the MailItem.EntryID Outlook VBA and Custom Forms 2
M What is the recommendet way to read/write a user defined Field (Named Property) in the MailItem Obje Outlook VBA and Custom Forms 1

Similar threads

Back
Top