Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.04.08;
Скачать: CL | DM;

Вниз

Mapi   Найти похожие ветки 

 
Dup   (2002-01-23 15:50) [0]

Почему Mapi не работает на компьютере где нет Delphi
может библиотеки какие нужны?


 
Digitman ©   (2002-01-24 14:14) [1]

На основании чего ты утверждаешь о неработоспособности MAPI ?


 
Dup   (2002-01-24 14:54) [2]

простая программа считывает параметры из файла и открывает
Outlook с заполненными полями. Но на другом компьютере Outlook
не запускается


 
Digitman ©   (2002-01-24 15:26) [3]

так первое, что приходит на ум (если у тебя взаимодействие с Outlook должно осуществляться как с OLE/Com-сервером) - а зарегистрирован ли корректно сей сервер на проблемной машине ?
И , если не запускается, какова строчка запуска ? Каковы параметры запуска ? Каково сообщение об ошибке ?


 
Dup   (2002-01-24 15:40) [4]

как узнать про регистрацию?
запускается без параметров
сообщений об ошибке не выводится вообще
ничего не происходит


 
Digitman ©   (2002-01-24 16:42) [5]

ок. приводи фрагменты кода.
на разных языках говорим с тобой.
мне ничего пока не понятно. тем более - о связи проблемы c загрузкой/выполнением Outlook и MAPI


 
nikkie ©   (2002-01-24 16:44) [6]

насколько мне помнится, для работы Mapi нужен именно Outlook (не Express) и ничего тут не поделаешь.


 
Dup   (2002-01-24 16:48) [7]


function SendEmail(const RecipName, RecipAddress, Subject, Attachment: string): Boolean;
var MapiMessage: TMapiMessage;
MapiFileDesc: TMapiFileDesc;
MapiRecipDesc: TMapiRecipDesc;
i: integer;
s: string;
begin
with MapiRecipDesc do
begin
ulReserved:= 0;
ulRecipClass:= MAPI_TO;
lpszName:= PChar(RecipName);
ulEIDSize:= 0;
lpEntryID:= nil;
end;
with MapiFileDesc do
begin
ulReserved:= 0;
flFlags:= 0;
nPosition:= 0;
lpszPathName:= PChar(Attachment);
lpszFileName:= nil;
lpFileType:= nil;
end;
with MapiMessage do
begin
ulReserved := 0;
lpszSubject := nil;
lpszNoteText := PChar(Subject);
lpszMessageType := nil;
lpszDateReceived := nil;
lpszConversationID := nil;
flFlags := 0;
lpOriginator := nil;
nRecipCount := 1;
lpRecips := @MapiRecipDesc;
if length(Attachment) > 0 then
begin
nFileCount:= 1;
lpFiles := @MapiFileDesc;
end else
begin
nFileCount:= 0;
lpFiles:= nil;
end;
end;
result:=MapiSendMail(0, 0, MapiMessage, MAPI_DIALOG or MAPI_LOGON_UI or MAPI_NEW_SESSION, 0) = SUCCESS_SUCCESS;
end;

begin
assign(f,"param.txt");
reset(f);
readln(f,s1);
readln(f,s2);
readln(f,s3);
sendemail(s1,"",s2,s3);
end.


только мне кажется код здесь ни при чем


 
Digitman ©   (2002-01-24 18:31) [8]

>nikkie
Я, честно сказать, не занимался этим, но, если речь автора идет о MAPI-спецификации как таковой (как она декларирована в MSDN), то скажи тогда, где хоть одно упоминание есть в Win32 API Help об каком-то там Outlook ?

>Dup
Где в твоем фрагменте хоть какое-то упоминание о явном использовании Outlook ? Где и кем сказано, что MapiSendMail() как-то связан с Outlook ? Где анализ результата выполнения вызова MapiSendMail() ?


 
nikkie ©   (2002-01-25 09:36) [9]

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

ты прав, MAPI - просто спецификация, но для того, чтобы на самом деле послать почту, необходим почтовый клиент, эту MAPI реализующий. так дело видимо в том, что Outlook реализует MAPI, а Outlook Express - нет.

в подтверждение этому нашел вот такую ссылочку
http://support.microsoft.com/default.aspx?scid=kb;EN-US;q257824


 
Digitman ©   (2002-01-25 13:47) [10]

Здесь дело не в Outlook или OE. Дело в наличии в системе (и соответственно - регистрационных записей в реестре) фабрики класса, реализующего интерфейс IMAPISession (имеющий предопределенный GUID). Таковой может быть и Outlook и любые другие серверы. Конечно же, если в системе нет ни одного сервера, фабрика которого способна создать объект с таким интерфейсом, вызовы MAPI выполняться не будут. И это очень легко проверить, проанализировав результат того же авторского MapiSendMail(), он, скорее всего = MAPI_E_FAILURE, потому что ни один MAPI-сервер в системе не установлен и не зарегистрирован.




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

Текущий архив: 2002.04.08;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.01 c
7-22849
SVF
2002-01-10 20:49
2002.04.08
Как можно определить размер файла


1-22612
drugoy Andrey
2002-03-27 15:26
2002.04.08
Delphi & Excel. Help me, please


6-22785
mcp@online.ru
2002-01-25 00:04
2002.04.08
Как при поиске в компоненте TWebBrowser использовать собственную строку поиска?


3-22603
Dimedrol
2002-03-07 13:14
2002.04.08
Добавление LookUp-поля...


1-22761
Yaro
2002-03-26 06:49
2002.04.08
Interpretator