Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

ShellExecuteEx и ошибка 1155 [D5, Win2k]


Alkid ©   (2006-07-28 13:45:00) 

Приведённый ниже код должен запускать спец.программку, передавая ей свой ProcessID в параметрах и при успешном запуске закрывать приложение. Однако ShellExecuteEx не срабаывает, возвращая ошибку 1155: No application is associated with the specified file for this operation.
Исполняемый файл по указанному пути находится, проверял. Разрешения тоже все в норме. Помогие разобраться, плз.
Код:

procedure TExportManager.beginImport;
var info : TShellExecuteInfoA;
begin

with info do
begin
  cbSize       := sizeof(Info);
  fMask        := SEE_MASK_FLAG_NO_UI or SEE_MASK_NOCLOSEPROCESS;
  lpFile       := PChar(Path + 'exportAgent.exe');
  lpParameters := PChar(IntToStr(GetCurrentProcessID()) + ' import');
  lpDirectory  := nil;
  nShow        := SW_HIDE;
end;

if(ShellExecuteEx(@info) = true) then
 Application.Terminate()
else
 LogError('TExportManager.beginImport: Ошибка при запуске экспортного агента. GetLastError: ' + IntToStr(GetLastError));
end;


Мефисто   (2006-07-28 21:43:00) [1]

Виновен мусор в рекорде из памяти:

FillChar(info, SizeOf(info), #0);


Alkid   (2006-07-28 14:12:00) [2]

Ну я это заметил, а вот почему? Я же не пытаюсь открыть doc какой-нибудь, я пытаюсь  исполняемый файл запустить. Кроме того, данный код у меня уже прекрасно работал в другом приложении, а в данном контексте стал вот такие фортеля выкидывать...


Мефисто   (2006-07-28 14:06:00) [3]

Промазал :)

1155 No application is associated with the specified file for this operation. ERROR_NO_ASSOCIATION


Мефисто   (2006-07-28 14:03:00) [4]

ERROR_SHUTDOWN_IN_PROGRESS = 1115;


Наверх

Титульная страница Поиск, карта сайта Написать письмо