powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Запуск редактора отчетов VFP из приложения VB
14 сообщений из 14, страница 1 из 1
Запуск редактора отчетов VFP из приложения VB
    #32543922
I Sim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте всем !
Руководство поставило очень непонятную задачу - а именно запустить редактор отчетов из другого приложения,написанного в том числе на VB.
Т.е. есть фрагмент приложения,написанного на VB, в котором получены какие-то сводные данные. ВИДИМО есть пожелание запустить их на просмотр из этого приложения с помощью fox-команды REPORT FORM [имя отчета]...
Это вообще можно как-то реализовать или ?????
Можно ли например каким-то образом считать редактор отчетов VFP отдельным компонентом (ну типа dll) и если да то каким именно ? - чтобы в VB его подцепить и использовать ??? Или кто что по этому поводу может сказать ??? Лично я просто в ауте.
...
Рейтинг: 0 / 0
Запуск редактора отчетов VFP из приложения VB
    #32543951
Раз (1)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Странная задача :)
ИМХО из VB проще уж с Word'ом или Excel'ем завязаться, опять же возможностей больше.
...
Рейтинг: 0 / 0
Запуск редактора отчетов VFP из приложения VB
    #32544280
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Просветите руководство, что обычно работает связка:

VB - Crystal Report

Я не знаю Вашего руководства, но обычно дешевле все сделать под VFP, так-как MS уже похоронило VB с легкой улыбкой на губах : "Кому он нужен этот VB, когда у нас есть прекрасный продукт - VFP, его то мы и будем развивать..."
...
Рейтинг: 0 / 0
Запуск редактора отчетов VFP из приложения VB
    #32544589
isim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я уже все пытался объяснить - пока безрезультатно. Еще каки-нибудь варианты подскажете ?
...
Рейтинг: 0 / 0
Запуск редактора отчетов VFP из приложения VB
    #32544633
Cyv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я так понимаю, что из васика можно запустить любой зарегистрированный сервер, начиная с :
Код: plaintext
1.
2.
3.
4.
Dim vfpApp As Object
Set vfpApp = CreateObject("VisualFoxpro.Application.8")
vfpApp.Visible = True
'vfpApp.Quit

и кончая твоим собственным.
Смотри раздел хэлпа "Creating Automation Servers"
...
Рейтинг: 0 / 0
Запуск редактора отчетов VFP из приложения VB
    #32544693
isim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так так так спасибо за наводочку - щас покопаюсь...
...
Рейтинг: 0 / 0
Запуск редактора отчетов VFP из приложения VB
    #32546046
isim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ваще предложенная штука (CreateObject("VisualFoxpro.Application.8")) работает.

Вроде как при работе с сервером VFP предлагается команда .DoCmd(<команда VFP>)

Но у меня при работе с ней отрабатывают простейшие функции типа вывода сообщения :

vfpApp.DoCmd ("MESSAGEBOX('TEST')")
vfpApp.DoCmd ("MESSAGEBOX(STR(32+10,2))")

А при запуске любой другой команды (то что я хотел бы в итоге запустить) выдается сообщение об ошибке ... not responding - ну типа не отвечает.

например,

vfpApp.DoCmd ("MODIFY REPORT <имя отчета>") ( ну или любая другая,например запуск отчета на предварительный просмотр и т.п.)

Может тут еще как-то по другому это дело запустить можно ???? Или что -то еще не хватает. Подскажите пожалуйста !!!!
...
Рейтинг: 0 / 0
Запуск редактора отчетов VFP из приложения VB
    #32546529
Cyv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изначально речь шла не об этом, а о написании на фоксе программы,
скомпилировать её как сервер, зарегистрировать в системе и вызывать
вместо (приведённой только для примера) "VisualFoxpro.Application.8"

Но если до этого далеко, то например такой код у меня работает:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Dim vfpApp As Object
Set vfpApp = CreateObject("VisualFoxpro.Application.8")
vfpApp.DoCmd ("RELEASE MENU _MSYSMENU")
vfpApp.DoCmd ("_SCREEN.Caption = 'MY COOL CAPTION'")
vfpApp.Visible = True
vfpApp.DoCmd ("HIDE WINDOW [Standard]")
vfpApp.DoCmd ("REPORT FORM C:\AA\AA.FRX PREVIEW IN SCREEN")
vfpApp.Quit

Почитай также раздел хелпа "Control of Visual FoxPro from Other Applications"
...
Рейтинг: 0 / 0
Запуск редактора отчетов VFP из приложения VB
    #32546574
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда уж не

vfpApp.DoCmd ("REPORT FORM C:\AA\AA.FRX PREVIEW IN SCREEN")

, а

vfpApp.DoCmd ("MODIFY REPORT C:\AA\AA.FRX")

;-)
...
Рейтинг: 0 / 0
Запуск редактора отчетов VFP из приложения VB
    #32546664
isim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прекрасно !
Спасибо за помощь !!! У меня ваш пример тоже получился!
(ссылку на Help я обязательно щас же прочитаю.)

Теперь если можно - правильно ли я мыслю на предмет создания этой штучки в виде сервера :

На VFP я создаю проект примерно с таким кодом :

DEFINE CLASS ole_prn AS Custom OLEPUBLIC

PROCEDURE Prn

LPARAMETERS PrnFile

* PrnFile - имя передаваемого файла-отчета

REPORT FORM PrnFile PREVIEW

ENDPROC

ENDDEFINE

Затем компилирую этот проект в .exe (или .dll) [пока еще не знаю как правильнее несмотря на все приводимые "за" и "против"] и регистрирую в реестре соответствующим образом.

Затем на клиенте (VB) пишу код ....CreateObject(ole_prn) и пытаюсь обратиться к методу Prn этого объекта с именем нужного мне отчета .

Правильно ли я рассуждаю ? Я уже пытался вчера так делать - че то посыпали ошибки и я решил пойти в лоб предложенным методом через VisualFoxpro.Application.8

Пожалуйста прокомментируйте ход моих мыслей чтоб я пошел более целенаправленно.
...
Рейтинг: 0 / 0
Запуск редактора отчетов VFP из приложения VB
    #32546912
isim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот что я меня получается :


код сервера:


DEFINE CLASS ole_prn AS Custom OLEPUBLIC

PROCEDURE INIT

MESSAGEBOX('O KEY')

ENDPROC

PROCEDURE Prn

LPARAMETERS PrmRepName

MESSAGEBOX('отчет='+PrmRepName)

* искусственно для теста явно указываю таблицу с которой работать
SELECT 0
USE C:\WN\DBF\ZARP02

MESSAGEBOX('alias='+ALIAS())

REPORT FORM (PrmRepName) PREVIEW

USE

ENDPROC

ENDDEFINE

Эта штука скомпилирована и зарегистрирована как oleprn.exe - сервер


КЛИЕНТСКАЯ ЧАСТЬ:

Dim vfpApp As Object
Set vfpApp = CreateObject("OlePrn.Ole_Prn")

vfpApp.Prn ("C:\SQL\PRJ\OLE\REP1.FRX")

РЕЗУЛЬТАТ РАБОТЫ:

Появляется сообщение 'o key' - т.е. сервер запустился.

Появляется сообщение 'отчет=C:\SQL\PRJ\OLE\REP1.FRX' - т.е. имя отчета передалось

Появляется сообщение 'alias()=Zarp02' - т.е. таблица для отчета открыта

А ДАЛЬШЕ ТИШИНА....
Похоже отчет ведь должен в чем то открываться (в окне VFP) - а как его активизировать ? Или в чем прикол ??? Подскажите !!!
...
Рейтинг: 0 / 0
Запуск редактора отчетов VFP из приложения VB
    #32546987
isim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Похоже победил !!!

в код сервера перед запуском Report-a надо прописать код:

CLEAR
SHOW WINDOW SCREEN

REPORT FORM (PrmRepName) PREVIEW IN SCREEN

и все о кей !!!!!
...
Рейтинг: 0 / 0
Запуск редактора отчетов VFP из приложения VB
    #32547968
Flare
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прошу прощения за оффтоп.

Sergey ChЯ не знаю Вашего руководства, но обычно дешевле все сделать под VFP, так-как MS уже похоронило VB с легкой улыбкой на губах : "Кому он нужен этот VB, когда у нас есть прекрасный продукт - VFP, его то мы и будем развивать..."

Вы, Сергей, заблуждаетесь. FoxPro гораздо мертвее, на пару порядков(в сотни раз) мертвее, в данный момент, чем VB. Зайдите на любой ресурс посвященный аутсорсным(удаленным) работам по разработке ПО и поглядите насколько нужен FoxPro, а насколько VB. И не стройте себе иллюзий, не выдавайте желаемое за действительное и не запутывайте остальных участников форума.

PS. Я писал когда-то на X-Base языках и на FoxPro также. И даже КОГДА-ТО на Clipper Summer'87 (если знаете что это такое). И уж поверьте - я знаю о чем говорю.
...
Рейтинг: 0 / 0
Запуск редактора отчетов VFP из приложения VB
    #32548533
Cyv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А я думал - клюнет кто-нибудь на этот провокэйшн или нет...;-)
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Запуск редактора отчетов VFP из приложения VB
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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