Как передать данные в запущенное приложение foxpro | |
---|---|
leonaha Сообщений: 62 Дата регистрации: 26.01.2010 |
Есть приложение на фоксе. Оно работает. Как в него, в режиме RunTime передать данные.
Суть: в программе надо сделать несколько селектов. Перед первым, запускаю форму с анимашкой (ехе файл). Если запускать в одном процессе, анимашка тупит до выполнения селекта. Поэтому скомпилил ее в отдельный файл. Как в эту форму передать строку типа "Ждите первая выборка...". Потом "вторая" и т.д.? Что бы в форме с анимашкой отобразить эту надпись. Или как получить доступ к объекту в форме с анимашкой. Запускаю анимашку так: (Пробовал DO "анимашка.exe" фокс висит, ждет пока анимашку закрою.) oWshShell = CreateObject("WScript.Shell") oWshExec = oWshShell.Exec("анимашка.exe") Понимаю, что надо копать в сторону потоков StdIn, StdOut, StdErr но как их обработать на фоксе не могу найти. |
Re: Как передать данные в запущенное приложение foxpro | |
---|---|
of63 Сообщений: 25161 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Запущеное приложение видит файлы (может по таймеру опрашивать на наличие определенного файла)
Еще есть семафоры в API... |
Re: Как передать данные в запущенное приложение foxpro | |
---|---|
pasha_usue Сообщений: 3647 Откуда: Е-бург Дата регистрации: 06.10.2006 |
Может проще создать многопоточную DLL и цеплять как COM.
|
Re: Как передать данные в запущенное приложение foxpro | |
---|---|
leonaha Сообщений: 62 Дата регистрации: 26.01.2010 |
Нашел интересное решение 357progress разбираюсь.
|
Re: Как передать данные в запущенное приложение foxpro | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Через IPC (там много вариантов), через тупо опрос какого-то общего dbf/txt файла, через посылку WM* сообщения окну другого процесса, через ROT (a-la GetObject() подключающийся к ранее запущенному экземпляру экселя/ворда/IE)... Масса вариантов
------------------ WBR, Igor |
Re: Как передать данные в запущенное приложение foxpro | |
---|---|
leonaha Сообщений: 62 Дата регистрации: 26.01.2010 |
Тема закрыта!
Решил таким образом, если кому интересно. Сделал форму с gif-кой, воткнул таймер на 1 сек. По таймеру смотрю буфер обмена (_Cliptext). Если в буфере есть что-то, выводим на форму. Скомпилировал в ехе-шник. В своей программе запускаю эту форму через WScript.Shell и начинаю формировать отчет. По мере надобности в буфер кидаю нужную инфу (_Cliptext='Выборка 1. Ждите...'). Форма с гифкой раз в секунду показывает мое сообщение. PS Добавил проценты. Красота! |
Re: Как передать данные в запущенное приложение foxpro | |
---|---|
ry Сообщений: 2113 Дата регистрации: 24.09.2007 |
Красота до тех пор, пока пользователь не скопирует что-нибудь в буфер во время показа гифки. Лучше уж через файл сообщения передавать, никому не мешая, его и удалить потом за собой можно.
|
Re: Как передать данные в запущенное приложение foxpro | |
---|---|
leonaha Сообщений: 62 Дата регистрации: 26.01.2010 |
Во-первых, нечего пользователю копировать разную ерунду в буфер во время работы. Две минуты потерпит.
Во-вторых, отчет выводит в эксель результат и как раз копированием добавляет строки в экселе. На экране просто мелькает текст добавляемых строк. |
Re: Как передать данные в запущенное приложение foxpro | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
И то верно - нечего ему вообще компьютером пользоваться, когда там настолько гениальная программа работает
------------------ WBR, Igor |
Re: Как передать данные в запущенное приложение foxpro | |
---|---|
Chemberzhy Автор Сообщений: 13142 Откуда: Измаил Дата регистрации: 28.04.2009 |
Да еще и более 256 символов. WM использовать- самое оно. ------------------ Что-то с памятью моей стало, всё что было не со мной- помню. |
© 2000-2024 Fox Club  |