Страница 1 из 1

Снова про ExecProgram

Добавлено: 30 май 2006, 15:56
DreamWeaver
Сделал небольшой батник, в котором вызываю программу для отправеки почты (sendmail), передавая в качетсве параметра конфигурационный файл. Если запускать батник из винды, то почта нормально отправляется. Но если запускаю этот батник ExecProgram-ом из своего интерфейса (по нажатии на кнопку), то ExecProgram возвращет код ошибки 1. В документации именно этот код ошибки не описан, и вообще не понятно, почему из винды все работает, а из галактики нет. не подскажите в чем может быть причина?

Добавлено: 30 май 2006, 19:32
Max_Fin
вообще-то в Галке уже есть функции для отправки почты.

Добавлено: 31 май 2006, 08:30
Vek
тоже стало интересно :)
Приведите описание этих функций, пожалуйста

Добавлено: 31 май 2006, 08:42
Алексей
:)
И сразу, если есть такие, по работе по HTTP. Типа как 1С курсы валют загружает.

Добавлено: 31 май 2006, 10:35
Max_Fin
см. FpSrvMail_EF.Inc

Код: Выделить всё

Function MLLOGON(string, string, string, longint) : boolean; external 'MailManager.dll';
Function MLLOGOFF : boolean; external 'MailManager.dll';
Function MLCHECKMSG : boolean; external 'MailManager.dll';
Function MLGETMAIL(longint) : boolean; external 'MailManager.dll';
Function MLGETHMAIL(longint) : boolean; external 'MailManager.dll';
Function MLGETMAILHEADER : boolean; external 'MailManager.dll';
Function MLGETMAILBODY : boolean; external 'MailManager.dll';
Function MLSAVEATTACH(string) : boolean; external 'MailManager.dll';
Function MLGETMSGCOUNT : longint; external 'MailManager.dll';
Function MLGETNEWMSGCOUNT : longint; external 'MailManager.dll';
Function MLGETFIRSTNEWMSG : longint; external 'MailManager.dll';
Function MLGETMAILSUBJ : string; external 'MailManager.dll';
Function MLGETMAILDATE : string; external 'MailManager.dll';
Function MLGETMAILFROMADDR : string; external 'MailManager.dll';
Function MLGETMAILFROMNAME : string; external 'MailManager.dll';
Function MLGETATTACHCOUNT : longint; external 'MailManager.dll';
Function MLISMAILSEEN(longint) : boolean; external 'MailManager.dll';
Function MLGETFILENAMEBYNUM(longint): string; external 'MailManager.dll';
Function MLSAVEATTACHBYNUM(string, longint): boolean; external 'MailManager.dll';
Function MLSETMAILSEEN(longint): boolean; external 'MailManager.dll';
Function MLSETMAILUNSEEN(longint): boolean; external 'MailManager.dll';
Function MLFINDINBODY(string): boolean; external 'MailManager.dll';
здесь смотрим что означают параметры

Код: Выделить всё

  Function LogOn(Host, Username, Password : shortstring; Port : longint) : boolean; export;
  Function LogOFF : boolean; export;
  Function CheckMsg : boolean; export;
  Function GetMail(MsgNum : longint): boolean; export;
  Function GetHMail(MsgNum : longint): boolean; export;
  Function GetMailHeader : boolean; export;
  Function GetMailBody : boolean; export;
  Function GetAttachCount : longint; export;
  Function SaveAttach(Path : shortstring): boolean; export;
  Function SaveAttachByNum(Path : shortstring; Num : longint): boolean; export;
  Function GetMsgCount : longint; export;
  Function GetNewMsgCount : longint; export;
  Function GetFirstNewMsg : longint; export;
  function GetMailSubj    : shortstring; export;
  function GetMailDate    : shortstring; export;
  function GetMailFromAddr: shortstring; export;
  function GetMailFromName: shortstring; export;
  function IsMailSeen (MsgNum : longInt) : boolean; export;
  function GetAttachFileNameByNum(AttchNum : longint) : shortstring; export;
  function SetMailSeen(MsgNum : longInt) : boolean; export;
  function SetMailUnSeen(MsgNum : longInt) : boolean; export;
  function FindInBody(FindedStr : shortstring) : boolean; export;
см. FpCliMail_EF.Inc

Код: Выделить всё

Function MSOutLookInit                   : boolean; external 'MSOutLookLib.dll';
Function MSOutLookDone                   : boolean; external 'MSOutLookLib.dll';
Function MSOutLookMessCreate             : boolean; external 'MSOutLookLib.dll';
Function MSOutLookMessSetTo  (String)    : boolean; external 'MSOutLookLib.dll';
Function MSOutLookMessSetSubj(String)    : boolean; external 'MSOutLookLib.dll';
Function MSOutLookMessAddBody(String)    : boolean; external 'MSOutLookLib.dll';
Function MSOutLookMessSend               : boolean; external 'MSOutLookLib.dll';
Function MSOutLookMessSave               : boolean; external 'MSOutLookLib.dll';
Function MSOutLookMessDisplay            : boolean; external 'MSOutLookLib.dll';
см. назначение параметров

Код: Выделить всё

  Function MSOutLookInit : boolean;
  Function MSOutLookDone : boolean;

  Function MSOutLookMessCreate : boolean;
  Function MSOutLookMessSetTo  (_sValue : shortstring) : boolean;
  Function MSOutLookMessSetSubj(_sValue : shortstring) : boolean;
  Function MSOutLookMessAddBody(_sValue : shortstring) : boolean;

  Function MSOutLookMessSend    : boolean;
  Function MSOutLookMessSave    : boolean;
  Function MSOutLookMessDisplay : boolean;

Добавлено: 01 июн 2006, 09:11
Vek
А можно примерчик использования?

Добавлено: 01 июн 2006, 09:14
Алексей
ДЛЛ идут с поставкой гал-ки 8-й версии?

Добавлено: 01 июн 2006, 09:23
Vek
у нас нет 8-ой версии , но есть эти dll-ки

Добавлено: 01 июн 2006, 17:39
DreamWeaver
А не могли бы Вы выслать эти бибилиотеки на dw@petron.ru (или скажите пожалуйста где их можно скачать)

Добавлено: 07 июн 2006, 08:35
Hmyrii
А на самом деле все на много проще. Когда запускаешь свой батник или другое любое самописное или не самописное приложение то винда этому преложению передает как параметр рабочую директорию. А вот галактика этого не делает. Так что при запуске из галактики нужно самому передовать параметром рабочую папку.
ExeProgram(my.exe, 'c:\myApp\exe\');

Добавлено: 14 июн 2006, 17:15
DreamWeaver
К сожалению, это не помогло :(. Если запускать батник из винды, то он нормально отправляет почту, а вот если из Галактики, то все происходит так как я уже описывал. Может есть еще какая-нибудь особенность?

Добавлено: 15 июн 2006, 07:39
Vek
еще пропишите полный путь к каждому файлу в bat-нике c:\

Добавлено: 15 июн 2006, 11:04
stray
буду также признателен !!
stray@list.ru

Добавлено: 15 июн 2006, 15:24
DreamWeaver
Прописывание в батнике полных путей также не помогло :(