powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / результат выполнения сторонней программы сохранить в переменную Delphi
24 сообщений из 24, страница 1 из 1
результат выполнения сторонней программы сохранить в переменную Delphi
    #39891521
yemets63
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
запускаем стороннюю программу из проекта, например с помощью shellapi, программа зарпускается и формирует по результатам запроса текстовый файл, который сохраняется на диск.
подскажите какие нибудь решения, чтобы результат сохранялся не на диск, а в переменную Delphi к примеру TYPE Memo,
результат выполнения сторонней программы обычный текстовый файл.

спасибо.
...
Рейтинг: 0 / 0
результат выполнения сторонней программы сохранить в переменную Delphi
    #39891526
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
результат выполнения сторонней программы сохранить в переменную Delphi
    #39891554
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaBr

Стороннюю же программу.

Лёгких путей не будет.
Либо следить за изменениями файла, в который она всё сохраняет, и перечитывать его по мере обновления, либо писать свой драйвер, который будет перехватывать обращения для записи в этот файл и перенаправлять его :)
...
Рейтинг: 0 / 0
результат выполнения сторонней программы сохранить в переменную Delphi
    #39891570
Sinemurius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А в чем проблема просто запустить внешнюю программу, дождаться завершения, прочитать файл, удалить файл ?
...
Рейтинг: 0 / 0
результат выполнения сторонней программы сохранить в переменную Delphi
    #39891602
yemets63
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sinemurius,

это реализовано было сразу, но есть сказка о золотой рыбке.
...
Рейтинг: 0 / 0
результат выполнения сторонней программы сохранить в переменную Delphi
    #39891626
x1ca4064
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvp

Либо следить за изменениями файла, в который она всё сохраняет, и перечитывать его по мере обновления, либо писать свой драйвер, который будет перехватывать обращения для записи в этот файл и перенаправлять его :)


Зачем драйвер? Достаточно внедрить dll в целевой процесс и перехватить CreateFile, CloseHandle, WriteFile
...
Рейтинг: 0 / 0
результат выполнения сторонней программы сохранить в переменную Delphi
    #39891630
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а пра чо топег?
а хто аффтар?

(С)
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
результат выполнения сторонней программы сохранить в переменную Delphi
    #39891651
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может, тебе просто вывод в консоль надо перехватить?
...
Рейтинг: 0 / 0
результат выполнения сторонней программы сохранить в переменную Delphi
    #39891727
ёёёёё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yemets63
запускаем стороннюю программу из проекта, например с помощью shellapi, программа зарпускается и формирует по результатам запроса текстовый файл, который сохраняется на диск.
подскажите какие нибудь решения, чтобы результат сохранялся не на диск, а в переменную Delphi к примеру TYPE Memo,
результат выполнения сторонней программы обычный текстовый файл.

спасибо.

1. Запускаешь программу с параметром "имя файла". Запускаемая программа должна понимать, что результат должен быть выведен в указанный файл.
2. Запускающая программа ждет завершения созданного процесса.
3. Запускающая программа считывает файл в переменную.

Пример: 22014912
...
Рейтинг: 0 / 0
результат выполнения сторонней программы сохранить в переменную Delphi
    #39891805
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может достаточно GetExitCodeProcess
...
Рейтинг: 0 / 0
результат выполнения сторонней программы сохранить в переменную Delphi
    #39891900
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock,

Предлагаешь в потоке подождать, пока функция отдает STILL_ACTIVE, потом подхватить файл и загрузить к себе? Вполне просто и элегантно, как по мне.
...
Рейтинг: 0 / 0
результат выполнения сторонней программы сохранить в переменную Delphi
    #39891968
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
x1ca4064
Зачем драйвер? Достаточно внедрить dll в целевой процесс и перехватить CreateFile, CloseHandle,
WriteFile

Антивирусы с вами не согласны. Кроме того, есть ещё memory mapped files.
...
Рейтинг: 0 / 0
результат выполнения сторонней программы сохранить в переменную Delphi
    #39892083
sql2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yemets63
запускаем стороннюю программу из проекта, например с помощью shellapi, программа зарпускается и формирует по результатам запроса текстовый файл, который сохраняется на диск.
подскажите какие нибудь решения, чтобы результат сохранялся не на диск, а в переменную Delphi к примеру TYPE Memo,
результат выполнения сторонней программы обычный текстовый файл.

спасибо.


Это результат из предыдущего топика?
https://www.sql.ru/forum/1319413/kak-mozhno-poluchit-rezultat-gruppovyh-politik-gpresult-r-v-peremennuu

Пошел рыть дальше?
Компоненты же есть для чтения этого... или функции - ссылка там же, ниже код..
...
Рейтинг: 0 / 0
результат выполнения сторонней программы сохранить в переменную Delphi
    #39892120
x1ca4064
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvp
x1ca4064
Зачем драйвер? Достаточно внедрить dll в целевой процесс и перехватить CreateFile, CloseHandle,
WriteFile

Антивирусы с вами не согласны. Кроме того, есть ещё memory mapped files.


Сомневаюсь, что антивирусы и MMF имеют значение в контексте этого топика, а с трудозатратами в случае драйвер vs инъекция dll - код инъекции ~100 строк, несколько сотен строк на код dll (причем, UserMode кода), в какой объем Вы оцениваете разработку драйвера?
...
Рейтинг: 0 / 0
результат выполнения сторонней программы сохранить в переменную Delphi
    #39892626
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMaster
YuRock,

Предлагаешь в потоке подождать, пока функция отдает STILL_ACTIVE, потом подхватить файл и загрузить к себе? Вполне просто и элегантно, как по мне.
Не, я реально предлагал подождать процесс с помощью WaitForSingleObject и затем получить код завершения.
В него можно впихнуть 4 байта.
Если этого достаточно - то и хорошо.
...
Рейтинг: 0 / 0
результат выполнения сторонней программы сохранить в переменную Delphi
    #39892725
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock
Не, я реально предлагал подождать процесс с помощью WaitForSingleObject и затем получить код завершения.

Только если процесс завис, то прога тоже зависнет. Лучше делать WaitFor с неким таймаутом, проверять результат и, если надо, идти на повтор
...
Рейтинг: 0 / 0
результат выполнения сторонней программы сохранить в переменную Delphi
    #39892772
ёёёёё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Василий 2
YuRock
Не, я реально предлагал подождать процесс с помощью WaitForSingleObject и затем получить код завершения.

Только если процесс завис, то прога тоже зависнет. Лучше делать WaitFor с неким таймаутом, проверять результат и, если надо, идти на повтор

"Если надо"?
...
Рейтинг: 0 / 0
результат выполнения сторонней программы сохранить в переменную Delphi
    #39892858
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Василий 2
Лучше делать WaitFor с неким таймаутом
Да, конечно
...
Рейтинг: 0 / 0
результат выполнения сторонней программы сохранить в переменную Delphi
    #39892882
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ёёёёё
"Если надо"?

А если не надо - трубить о таймауте ожидания и прибивать процесс
...
Рейтинг: 0 / 0
результат выполнения сторонней программы сохранить в переменную Delphi
    #39893114
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Василий 2
ёёёёё
"Если надо"?

А если не надо - трубить о таймауте ожидания и прибивать процесс


Трубить нужно однозначно, но вот прибивать - тут спорно. Хз, что там эта программа делает и как не нее сруб повлияется.
...
Рейтинг: 0 / 0
результат выполнения сторонней программы сохранить в переменную Delphi
    #39893787
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну это ессессно в зависимости от задачи
...
Рейтинг: 0 / 0
результат выполнения сторонней программы сохранить в переменную Delphi
    #39893790
yemets63
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сторонняя прога пишет файл, моя прога читает. всё прекрасно работает, все постановщики задач согласились с этой функцией, без всяких драйверов, маппинга и ..., " ... ... слов нет, одни ..."
...
Рейтинг: 0 / 0
результат выполнения сторонней программы сохранить в переменную Delphi
    #39893816
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а как дышал, как дышал... (С)
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
результат выполнения сторонней программы сохранить в переменную Delphi
    #39893928
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какой вопрос - такой и ответ...
...
Рейтинг: 0 / 0
24 сообщений из 24, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / результат выполнения сторонней программы сохранить в переменную Delphi
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]