:: Visual Foxpro, Foxpro for DOS
Как передать данные в запущенное приложение foxpro
leonaha

Сообщений: 62
Дата регистрации: 26.01.2010
Есть приложение на фоксе. Оно работает. Как в него, в режиме RunTime передать данные.
Суть: в программе надо сделать несколько селектов. Перед первым, запускаю форму с анимашкой (ехе файл).
Если запускать в одном процессе, анимашка тупит до выполнения селекта. Поэтому скомпилил ее в отдельный файл.
Как в эту форму передать строку типа "Ждите первая выборка...". Потом "вторая" и т.д.? Что бы в форме с анимашкой
отобразить эту надпись. Или как получить доступ к объекту в форме с анимашкой.

Запускаю анимашку так: (Пробовал DO "анимашка.exe" фокс висит, ждет пока анимашку закрою.)
oWshShell = CreateObject("WScript.Shell")
oWshExec = oWshShell.Exec("анимашка.exe")
Понимаю, что надо копать в сторону потоков StdIn, StdOut, StdErr но как их обработать на фоксе не могу найти.
Ratings: 0 negative/0 positive
Re: Как передать данные в запущенное приложение foxpro
of63

Сообщений: 25161
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Запущеное приложение видит файлы (может по таймеру опрашивать на наличие определенного файла)
Еще есть семафоры в API...
Ratings: 0 negative/0 positive
Re: Как передать данные в запущенное приложение foxpro
pasha_usue

Сообщений: 3647
Откуда: Е-бург
Дата регистрации: 06.10.2006
Может проще создать многопоточную DLL и цеплять как COM.
Ratings: 0 negative/0 positive
Re: Как передать данные в запущенное приложение foxpro
leonaha

Сообщений: 62
Дата регистрации: 26.01.2010
Нашел интересное решение 357progress разбираюсь.
Ratings: 0 negative/0 positive
Re: Как передать данные в запущенное приложение foxpro
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Через IPC (там много вариантов), через тупо опрос какого-то общего dbf/txt файла, через посылку WM* сообщения окну другого процесса, через ROT (a-la GetObject() подключающийся к ранее запущенному экземпляру экселя/ворда/IE)... Масса вариантов


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Как передать данные в запущенное приложение foxpro
leonaha

Сообщений: 62
Дата регистрации: 26.01.2010
Тема закрыта!
Решил таким образом, если кому интересно.
Сделал форму с gif-кой, воткнул таймер на 1 сек. По таймеру смотрю буфер обмена (_Cliptext).
Если в буфере есть что-то, выводим на форму. Скомпилировал в ехе-шник.

В своей программе запускаю эту форму через WScript.Shell и начинаю формировать отчет. По мере надобности в буфер кидаю нужную инфу (_Cliptext='Выборка 1. Ждите...'). Форма с гифкой раз в секунду показывает мое сообщение.

PS Добавил проценты. Красота!
Ratings: 0 negative/0 positive
Re: Как передать данные в запущенное приложение foxpro
ry

Сообщений: 2113
Дата регистрации: 24.09.2007
Красота до тех пор, пока пользователь не скопирует что-нибудь в буфер во время показа гифки. Лучше уж через файл сообщения передавать, никому не мешая, его и удалить потом за собой можно.
Ratings: 0 negative/0 positive
Re: Как передать данные в запущенное приложение foxpro
leonaha

Сообщений: 62
Дата регистрации: 26.01.2010
Во-первых, нечего пользователю копировать разную ерунду в буфер во время работы. Две минуты потерпит.
Во-вторых, отчет выводит в эксель результат и как раз копированием добавляет строки в экселе. На экране просто мелькает текст добавляемых строк.
Ratings: 0 negative/0 positive
Re: Как передать данные в запущенное приложение foxpro
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
И то верно - нечего ему вообще компьютером пользоваться, когда там настолько гениальная программа работает


------------------
WBR, Igor
Ratings: 0 negative/1 positive
Re: Как передать данные в запущенное приложение foxpro
Chemberzhy
Автор

Сообщений: 13142
Откуда: Измаил
Дата регистрации: 28.04.2009
ry
Красота до тех пор, пока пользователь не скопирует что-нибудь в буфер во время показа гифки. Лучше уж через файл сообщения передавать, никому не мешая, его и удалить потом за собой можно.

Да еще и более 256 символов.
WM использовать- самое оно.


------------------
Что-то с памятью моей стало, всё что было не со мной- помню.
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 27 MikhsR  (Гостей: 26)

© 2000-2024 Fox Club 
Яндекс.Метрика