Lncalendar, С++ АПИ

  • Автор темы Adelm
  • Дата начала
A

Adelm

#1
Привет!

Прошу не бить ногами, если вопросы покажутся слишком примитивными - я новичок в лотусе...

Вопрос, собственно такой. Есть необходимость получить все ентриз из календаря (желательно для каждого юзера) в определенный период. Для начала я решил получить ентриз для текущего пользователя:

1. Создал митинг.
2. Написал след код:

int _tmain(int argc, _TCHAR* argv[])
{
LNNotesSession session;
session.Init( true );

LNString current_date_time;
session.GetCurrentDatetime().GetText( ¤t_date_time );
printf( "Current DateTime From Session: %s\n", current_date_time.GetTextPtr() );
printf( "Current User Name From Session: %s\n", session.GetUserName().GetTextPtr() );

LNCalendar calendar;
LNSTATUS status = session.GetCalendar( &calendar );
if ( status != 0 ) {
char* msg = new char[ LNERROR_MESSAGE_LENGTH ];
LNGetErrorMessage( status, msg );
printf( "GetCalendar Error: %s\n", msg );
delete msg;
scanf( "www" );
session.Term();
return 1;
}

LNDatetime start( "03/11/2006 00:00:00" );
LNDatetime end( "03/11/2006 23:59:59" );
LNDatetimeRange today;

today.SetBegin( start );
today.SetEnd( today );

LNCalendarEntryArray calendar_entries;
status = calendar.GetEntries( today, &calendar_entries, false );
if ( status != 0 ) {
char* msg = new char[ LNERROR_MESSAGE_LENGTH ];
LNGetErrorMessage( status, msg );
printf( "Calendar Error: %s\n", msg );
delete msg;
}
else {

int calendar_entry_count = calendar_entries.GetCount();
for ( int i = 0; i < calendar_entry_count; i++ ) {
LNCalendarEntry calendar_entry = calendar_entries[ i ];
calendar_entry.Open();
printf( "entry: %s\n", calendar_entry.GetBriefDescription().GetTextPtr() );
}
}

calendar.Close();
printf( "Press Enter..." );
scanf( "press enter..." );
session.Term();
return 0;
}

3. Запустил.

Получил ошибку No match found. на ГетЕнтриз() :)

Скажите любезные, что не так?

И еще, я полез в Си++ только затем, что не могу получить доступ к календарю в СОМ.

Действительно ли в СОМ не раскрыты методы для работы с календарем, или я что-то пропустил?