Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> Запуск внешнего приложения, и ожидания его завершения 
:(
    Опции темы
bems
Дата 11.3.2011, 21:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 31
Всего: 88



В процессе программирования нужны переменные, какой кошмар. 
А то что он у тебя не запустился, так тут ключевая фраза "у тебя"


--------------------
Обижено школьников: 8
PM MAIL   Вверх
CodeMonkey
Дата 11.3.2011, 23:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1839
Регистрация: 24.6.2008
Где: Россия, Тверь

Репутация: 38
Всего: 89



Цитата(Данкинг @  11.3.2011,  16:59 Найти цитируемый пост)
Что хуже, если у меня пример проще некуда? Кроме Comobj никаких библиотек не требует, тучи непонятных простому смертному параметров, как я уже говорил, тоже не просит, занимает 3 строчки кода и работает стопроцентно верно? 


Я на тебя посмотрю, когда WSH будет не установлен в системе, или ты будешь вызывать этот код в других условиях, когда добрая Delphi не вызовет за тебя OleInitialize. Отдельный привет именам с пробелами. Не говоря уже про то, что Run - аналог ShellExecute. Т.е. если файловой ассоциации нет, то фиг ты запустишь.

Это сообщение отредактировал(а) CodeMonkey - 11.3.2011, 23:31


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Данкинг
Дата 11.3.2011, 23:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 9
Всего: 130



Ещё в качестве флуда. smile Вечером на работу к нас зашёл программер, который уволился недели 3 назад. Выпили коньячку, и сказал я ему о том, что на Винграде спорим о том, как %сабж%. И вот что он ответил: "Самое простое, что я видел - это..." Далее предоставляю право догадаться, что именно он ответил. smile  smile 
Цитата(bems @  11.3.2011,  21:42 Найти цитируемый пост)
В процессе программирования нужны переменные, какой кошмар. 

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


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
CodeMonkey
Дата 11.3.2011, 23:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1839
Регистрация: 24.6.2008
Где: Россия, Тверь

Репутация: 38
Всего: 89



Несомненно, самое простое что я видел для закручивания шурупов - это молоток.

Продолжай в том же духе - так придём к светлому будущему, товарищ!


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Данкинг
Дата 11.3.2011, 23:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 9
Всего: 130



Цитата(CodeMonkey @  11.3.2011,  23:30 Найти цитируемый пост)
когда добрая Delphi не вызовет за тебя OleInitialize.

На фоксе этот код тоже отлично работает.
Цитата(CodeMonkey @  11.3.2011,  23:30 Найти цитируемый пост)
Не говоря уже про то, что Run - аналог ShellExecute. Т.е. если файловой ассоциации нет, то фиг ты запустишь.

Если нет файловой ассоциации с .exe - значит, пора винду переустанавливать или же откатывать на момент установки. smile
Цитата(CodeMonkey @  11.3.2011,  23:36 Найти цитируемый пост)
Несомненно, самое простое что я видел для закручивания шурупов - это молоток.

Молотком шуруп куда сложнее забивать, нежели запустить программу с помощью моего кода. smile Плюс, повторюсь снова и снова, никаких лишних переменных.

Добавлено @ 00:02
Цитата(CodeMonkey @  11.3.2011,  23:30 Найти цитируемый пост)
Отдельный привет именам с пробелами. 

Тебе взаимный привет от двойных кавычек, обрамляющих путь к программе. smile 

Это сообщение отредактировал(а) Данкинг - 12.3.2011, 00:03


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
northener
Дата 12.3.2011, 02:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1361
Регистрация: 2.9.2010

Репутация: 8
Всего: 20



Цитата(Данкинг @  11.3.2011,  23:59 Найти цитируемый пост)
Цитата(CodeMonkey @  11.3.2011,  23:30 Найти цитируемый пост)
Не говоря уже про то, что Run - аналог ShellExecute. Т.е. если файловой ассоциации нет, то фиг ты запустишь.

Если нет файловой ассоциации с .exe - значит, пора винду переустанавливать или же откатывать на момент установки. 


Вы же сами упоминали про топик стартера. А где в его вопросе точное указание, что ему нужно просто запустить произвольный EXE-шник?
Он же пишет свою программу не "для просто так"? И это явно не вариант shell'а, иначе зачем нужно дожидаться завершения работы запущенного приложения. Для меня из текста вопроса ясно, что автор в своей программе готовит какие-то данные для последующей обработки другой программой. Он должен дождаться завершения этой обработки, после чего должен продолжить свою работу уже имея готовый результат другой программы. А в этом случае ваш вариант плохо подходит.
Точнее, совсем не подходит!

Это сообщение отредактировал(а) northener - 12.3.2011, 04:51


--------------------
Но только лошади летают вдохновенно.
Иначе лошади разбились бы мгновенно!
PM MAIL   Вверх
bems
Дата 12.3.2011, 09:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 31
Всего: 88



Цитата(Данкинг @  11.3.2011,  23:34 Найти цитируемый пост)
Только тут дело в том, что объявлять их требуется для CreateProcess, но вот далее оные нигде не используются. 
Используется для передачи хендла процесса в Wait-функцию. И не надо привлекать мифических соратников на свою сторону, тебе же три человека говорят прямо здесь что это неправильно. 
И перестань смайлофажить, ты не в песочнице.



--------------------
Обижено школьников: 8
PM MAIL   Вверх
Данкинг
Дата 12.3.2011, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 9
Всего: 130



Цитата(bems @  12.3.2011,  09:24 Найти цитируемый пост)
И не надо привлекать мифических соратников на свою сторону

Почему мифических? Почему привлекать? Я спросил, как бы сделал он сам, ничего не говоря ни о ole, ни о createprocess.
Цитата(bems @  12.3.2011,  09:24 Найти цитируемый пост)
тебе же три человека говорят прямо здесь что это неправильно. 

Да-да, только кроме меня и Акеллы кода никто не написал. Все только говорят, что это неправильно, но правильного кода никто не приводит. Мне одному кажется, что что-то не так?
Цитата(bems @  12.3.2011,  09:24 Найти цитируемый пост)
И перестань смайлофажить, ты не в песочнице.

Не знаю, что такое "смайлофажить", видимо, что-то со смайликами связано. А разве смайлики можно употреблять только в песочнице? smile 
Цитата(northener @  12.3.2011,  02:01 Найти цитируемый пост)
А где в его вопросе точное указание, что ему нужно просто запустить произвольный EXE-шник?

Речь идёт о запуске утилиты. Ну, утилита может быть и .com, это сути не меняет. smile 
Цитата(northener @  12.3.2011,  02:01 Найти цитируемый пост)
после чего должен продолжить свою работу уже имея готовый результат другой программы. А в этом случае ваш вариант плохо подходит.

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


Это сообщение отредактировал(а) Данкинг - 12.3.2011, 14:37


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
bems
Дата 12.3.2011, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 31
Всего: 88



Цитата(Данкинг @  12.3.2011,  14:35 Найти цитируемый пост)
Почему мифических? 
потому что это миф.
Цитата(Данкинг @  12.3.2011,  14:35 Найти цитируемый пост)
Да-да, только кроме меня и Акеллы кода никто не написал. Все только говорят, что это неправильно, но правильного кода никто не приводит. Мне одному кажется, что что-то не так?
Походу да, тебе одному. Акелла показал в принципе правильный код, только с парочкой флагов, которые могут быть и не нужны, и нечего тут еще показывать.

Тема скатилась, закрываю.



--------------------
Обижено школьников: 8
PM MAIL   Вверх
Закрытая темаСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0747 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.