![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 05.07.2007
Сообщений: 5
|
![]()
Функция shellExecute() запускает и пошло дальше выполнять код, а мне надо модально, ятобы дождаться пока приложение исполниться, а потом идти дальше по коду.
|
![]() |
![]() |
![]() |
#2 |
;-)
Пользователь
Регистрация: 18.07.2007
Сообщений: 69
|
![]()
Это часто задаваемый вопрос. Яндекс на раз два.
![]() Код:
|
![]() |
![]() |
![]() |
#3 |
Регистрация: 05.07.2007
Сообщений: 5
|
![]()
Спасибо попробую
|
![]() |
![]() |
![]() |
#4 |
Регистрация: 05.07.2007
Сообщений: 5
|
![]()
Вызывает ошибку времени выполнения: Aксесс виолейшон в адресе ....
Я это правда сделал в самописной процедуре и ( Sender as TControl ).Enabled := false; эти вещи не делал т. к. там нет Sender |
![]() |
![]() |
![]() |
#5 |
Регистрация: 05.07.2007
Сообщений: 5
|
![]()
Передал Sender из таймера все также сделал, пишет во время выполнения: invalid class typecast
|
![]() |
![]() |
![]() |
#6 |
;-)
Пользователь
Регистрация: 18.07.2007
Сообщений: 69
|
![]()
Покажите код.
Конкретно эта процедура работает без проблем. |
![]() |
![]() |
![]() |
#7 |
Регистрация: 05.07.2007
Сообщений: 5
|
![]()
procedure Obmen(Sender: TObject);
var atr : integer; ..... .... ProcInfo: PShellExecuteInfo;// begin .... .... //Запускаем загрузку 1С // ComStr:=Pchar(Kat+'set\ExchangeIn.c md'); // shellExecute(F1.handle,'open',ComSt r,nil,nil,tipZapuska); GetMem( ProcInfo, SizeOf( ProcInfo^ ) ); with ProcInfo^ do begin Wnd := Application.Handle; cbSize := SizeOf( ProcInfo^ ); lpFile := PChar(Kat+'set\ExchangeIn.cmd'); lpParameters := nil; lpVerb := 'open'; nShow := SW_SHOW; fMask := SEE_MASK_DOENVSUBST or SEE_MASK_NOCLOSEPROCESS; end; try Win32check( ShellExecuteEx( ProcInfo ) ); while not Application.Terminated and ( WaitForSingleObject( ProcInfo.hProcess, 100 ) = WAIT_TIMEOUT ) do Application.ProcessMessages; finally if ProcInfo.hProcess <> 0 then CloseHandle( ProcInfo.hProcess ); Dispose( ProcInfo ); end; ..... ..... Может в версии Delphi дело у меня 5 |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Показываем объект и только потом работаем дальше | celovec | Общие вопросы Delphi | 7 | 25.03.2008 15:28 |
начал учить только-только - нужна ваша помошь | vanDJ | Помощь студентам | 20 | 18.12.2007 21:53 |
как запустить приложение из к примеру текст файла!!! | Volkogriz | Общие вопросы Delphi | 12 | 12.10.2007 12:27 |