|
I have some code that will iterate through some MAPI folders
using their Folder and Store Ids. This procedure is in a separate thread from
my Main App. The line IDispatch(MyFolder) := NameSpace.GetFolderFromID
works fine, and returns a pointer to the folder. But if I try to access the
Items of the folder I am getting an access violation. Can anyone shed some
light on why this is happening? This same code works fine if I run it within an Exchange
Extension addin under the main thread. This is actually running in a separate
exe. var hr: HRESULT; MyFolder: MAPIFolder; tTemp: IMAPITable; iSess: IMAPISession; OLApplication: _ApplicationDisp; begin MAPIInitialize(nil); MAPILogonEx(0, '', '',
MAPI_BEST_ACCESS, iSess); IDispatch(OLApplication) :=
IDispatch(CoOutlookApplication.Create); for i := 0 to
MyDList.Folders.Count - 1 do begin //Get IMAPITable try
NameSpace := OLApplication.GetNamespace('MAPI');
IDispatch(MyFolder) := NameSpace.GetFolderFromID(
MyDList.Folders.Items[i].FolEID,
MyDList.Folders.Items[i].StoreEID); except
MyFolder := nil; end; if MyFolder = nil
then goto cleanup; hr :=
(MyFolder.Items.RawTable as IUnknown).QueryInterface(IID_IMAPITable, tTemp); ……. End; Regards Jason |
_______________________________________________ Delphi mailing list [email protected] http://ns3.123.co.nz/mailman/listinfo/delphi
