Hi all.
C++.
I use COM API for getting attachment info in this way.
Here simple code work’s for me.
CNOTESUIWORKSPACE ws;
ws.CreateDispatch(L"Notes.NOTESUIWORKSPACE");
CNOTESUIDOCUMENT curUI = ws.GetCURRENTDOCUMENT().pdispVal;
CNOTESDOCUMENT cDoc = curUI.GetDOCUMENT().pdispVal;
CNOTESRICHTEXTITEM rtBody=cDoc.GETFIRSTITEM(_T(MAIL_BODY_ITEM)).pdispVal;
CNOTESRICHTEXTNAVIGATOR rtNav=rtBody.CREATENAVIGATOR().pdispVal;
int iCol= 0;
for ( ; isExist; ){
iCol++;
isExist=rtNav.FINDNEXTELEMENT(CComVariant(RTELEM_TYPE_FILEATTACHMENT), CComVariant(iCol)).boolVal;
}
CString wsAttFileName, wsAttName;
for (int i= 0; i <= iCol; i++) {
CNOTESEMBEDDEDOBJECT cEmbObj=rtNav.GETNTHELEMENT(RTELEM_TYPE_FILEATTACHMENT, CComVariant(i)).pdispVal;
…
Here I save attachment names to list. It creates right list of attachment names.
But when I use this code for creating list of attachments … but attachments mixed((.
LNRichText rt;
LNSTATUS stats;
doc.Open();
if (doc.GetItem(MAIL_BODY_ITEM, &rt) == LNNOERROR) {
LNRTCursor cursor;
if (rt.GetCursor(&cursor) == LNNOERROR) {
LNRTAttachment rtAtt;
if ((stats= cursor.GotoFirst(LNRTTYPE_ATTACHMENT, &rtAtt)) == LNNOERROR) {
for (; !stats;) {
stats= cursor.GotoNext(LNRTTYPE_ATTACHMENT, &rtAtt);
…
Who knows why this happens and how fix it?
Thank’s for any advice.