Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2003.06.05;
Скачать: [xml.tar.bz2];

Вниз

Список писем Outlook   Найти похожие ветки 

 
VitaWED   (2003-04-04 16:44) [0]

Уважаемые мастера! Как можно используя Delphi проверить папку Входящие в MS Outlook. Я используя вкладку "Server", написал такой вод код:
procedure TForm1.Button1Click(Sender: TObject);
var
mapi:NameSpace;
i:integer;
begin
mapi:=OutlookApplication1.GetNamespace("MAPI");
for i:=1 to mapi.Folders.Item(1).Folders.Count do
ListBox1.Items.Add(mapi.Folders.Item(1).Folders.Item(i).Name);
Items1.ConnectTo(mapi.Folders.Item(1).Folders.Item(2).Items);
Label1.Caption:=IntToStr(Items1.Count);
PostItem1.ConnectTo(PostItem(Items1.GetFirst));
Memo1.Lines.Add(PostItem1.SenderName);
Memo1.Lines.Add(PostItem1.Body);
...
end;
При выполнении выдается ошибка "Не поддерживается", хотя и Outlook и входящие сообщения в нем есть. Собственно их количество выдается даже на Label1. В чем фишка не ясно...


 
Bel   (2003-04-04 17:24) [1]

В какой строке ошибку выдаёт?

Бегло проглядев твой код, можно сказать следующее:
1. Стандартные папки (входящие, исходящие и т.д.) можно брать методом GetDefaultFolder интерфейса NameSpace.
2. Если своим кодом ты находишь папку входящие, то там должны лежать элементы типа MailItem, а не PostItem, как у тебя.


 
VitaWED   (2003-04-04 18:13) [2]

Ошибка выдается при обращении к полям или методам PostItem1, как будто он ошибочно задан. Скорее всего, так оно и есть. Но придумать, что нибудь лучше
PostItem1.ConnectTo(PostItem(Items1.GetFirst)) не получается.
Если не сложно можно поподробнее насчет GetDefaultFolder, а то я с OutlookApplication еще не работал и с ее тонкостями не знаком.
Что касается MailItem, то я его на вкладке Server не нашел, видимо остался в старых Delphi (работаю в 7).


 
VitaWED   (2003-04-04 18:17) [3]

Да и что странное: если ошибка в строчке PostItem1.ConnectTo.. то почему программа ее "проглатывает" без вопросов. Кстати, нашел на каком то форуме похожий вопрос только с MailItem. Никто не ответил. Перспективно...


 
VitaWED   (2003-04-05 09:08) [4]

Все нашел. Запустил Delphi5. У нее на вкладке Сервера есть и PostItem и MailItem. Изменил код на следующий
procedure TForm1.Button1Click(Sender: TObject);
var
mapi:NameSpace;
i:integer;
begin
mapi:=OutlookApplication1.GetNamespace("MAPI");
MailItem1.ConnectTo(_DMailItem(mapi.GetDefaultFolder(olFolderInbox).Items.Item(1)));
Caption:=MailItem1.Subject;
...
end;

Но тогда почему в седьмая Delphi отказывается даже принимать класс TMailItem?



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2003.06.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.009 c
14-13416
DVM
2003-05-19 09:36
2003.06.05
Одн исходник для двух языков программирования. Возможно ли?


1-13210
jack100
2003-05-27 11:43
2003.06.05
Раскладка клавиатуры


14-13467
Анат
2003-05-18 13:01
2003.06.05
Графический редактор.


14-13429
Style
2003-05-19 09:49
2003.06.05
DelphiChallenge: Завершен 1-й тур соревнований.


3-13057
Reals
2003-05-16 20:08
2003.06.05
ПОДСКАЖИТЕ ПОЖАЛУЙСТА по поводу Microsoft.Jet.OLEDB.4.0





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский