Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Запуск редактора отчетов VFP из приложения VB
|
|||
|---|---|---|---|
|
#18+
Здравствуйте всем ! Руководство поставило очень непонятную задачу - а именно запустить редактор отчетов из другого приложения,написанного в том числе на VB. Т.е. есть фрагмент приложения,написанного на VB, в котором получены какие-то сводные данные. ВИДИМО есть пожелание запустить их на просмотр из этого приложения с помощью fox-команды REPORT FORM [имя отчета]... Это вообще можно как-то реализовать или ????? Можно ли например каким-то образом считать редактор отчетов VFP отдельным компонентом (ну типа dll) и если да то каким именно ? - чтобы в VB его подцепить и использовать ??? Или кто что по этому поводу может сказать ??? Лично я просто в ауте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2004, 08:52 |
|
||
|
Запуск редактора отчетов VFP из приложения VB
|
|||
|---|---|---|---|
|
#18+
Странная задача :) ИМХО из VB проще уж с Word'ом или Excel'ем завязаться, опять же возможностей больше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2004, 09:16 |
|
||
|
Запуск редактора отчетов VFP из приложения VB
|
|||
|---|---|---|---|
|
#18+
Просветите руководство, что обычно работает связка: VB - Crystal Report Я не знаю Вашего руководства, но обычно дешевле все сделать под VFP, так-как MS уже похоронило VB с легкой улыбкой на губах : "Кому он нужен этот VB, когда у нас есть прекрасный продукт - VFP, его то мы и будем развивать..." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2004, 11:11 |
|
||
|
Запуск редактора отчетов VFP из приложения VB
|
|||
|---|---|---|---|
|
#18+
Я уже все пытался объяснить - пока безрезультатно. Еще каки-нибудь варианты подскажете ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2004, 13:13 |
|
||
|
Запуск редактора отчетов VFP из приложения VB
|
|||
|---|---|---|---|
|
#18+
Я так понимаю, что из васика можно запустить любой зарегистрированный сервер, начиная с : Код: plaintext 1. 2. 3. 4. и кончая твоим собственным. Смотри раздел хэлпа "Creating Automation Servers" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2004, 13:31 |
|
||
|
Запуск редактора отчетов VFP из приложения VB
|
|||
|---|---|---|---|
|
#18+
так так так спасибо за наводочку - щас покопаюсь... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2004, 13:51 |
|
||
|
Запуск редактора отчетов VFP из приложения VB
|
|||
|---|---|---|---|
|
#18+
Ваще предложенная штука (CreateObject("VisualFoxpro.Application.8")) работает. Вроде как при работе с сервером VFP предлагается команда .DoCmd(<команда VFP>) Но у меня при работе с ней отрабатывают простейшие функции типа вывода сообщения : vfpApp.DoCmd ("MESSAGEBOX('TEST')") vfpApp.DoCmd ("MESSAGEBOX(STR(32+10,2))") А при запуске любой другой команды (то что я хотел бы в итоге запустить) выдается сообщение об ошибке ... not responding - ну типа не отвечает. например, vfpApp.DoCmd ("MODIFY REPORT <имя отчета>") ( ну или любая другая,например запуск отчета на предварительный просмотр и т.п.) Может тут еще как-то по другому это дело запустить можно ???? Или что -то еще не хватает. Подскажите пожалуйста !!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2004, 10:51 |
|
||
|
Запуск редактора отчетов VFP из приложения VB
|
|||
|---|---|---|---|
|
#18+
Изначально речь шла не об этом, а о написании на фоксе программы, скомпилировать её как сервер, зарегистрировать в системе и вызывать вместо (приведённой только для примера) "VisualFoxpro.Application.8" Но если до этого далеко, то например такой код у меня работает: Код: plaintext 1. 2. 3. 4. 5. 6. 7. Почитай также раздел хелпа "Control of Visual FoxPro from Other Applications" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2004, 13:37 |
|
||
|
Запуск редактора отчетов VFP из приложения VB
|
|||
|---|---|---|---|
|
#18+
Тогда уж не vfpApp.DoCmd ("REPORT FORM C:\AA\AA.FRX PREVIEW IN SCREEN") , а vfpApp.DoCmd ("MODIFY REPORT C:\AA\AA.FRX") ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2004, 13:53 |
|
||
|
Запуск редактора отчетов VFP из приложения VB
|
|||
|---|---|---|---|
|
#18+
Прекрасно ! Спасибо за помощь !!! У меня ваш пример тоже получился! (ссылку на 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 Пожалуйста прокомментируйте ход моих мыслей чтоб я пошел более целенаправленно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2004, 14:18 |
|
||
|
Запуск редактора отчетов VFP из приложения VB
|
|||
|---|---|---|---|
|
#18+
Вот что я меня получается : код сервера: 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) - а как его активизировать ? Или в чем прикол ??? Подскажите !!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2004, 15:26 |
|
||
|
Запуск редактора отчетов VFP из приложения VB
|
|||
|---|---|---|---|
|
#18+
Похоже победил !!! в код сервера перед запуском Report-a надо прописать код: CLEAR SHOW WINDOW SCREEN REPORT FORM (PrmRepName) PREVIEW IN SCREEN и все о кей !!!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2004, 15:49 |
|
||
|
Запуск редактора отчетов VFP из приложения VB
|
|||
|---|---|---|---|
|
#18+
Прошу прощения за оффтоп. Sergey ChЯ не знаю Вашего руководства, но обычно дешевле все сделать под VFP, так-как MS уже похоронило VB с легкой улыбкой на губах : "Кому он нужен этот VB, когда у нас есть прекрасный продукт - VFP, его то мы и будем развивать..." Вы, Сергей, заблуждаетесь. FoxPro гораздо мертвее, на пару порядков(в сотни раз) мертвее, в данный момент, чем VB. Зайдите на любой ресурс посвященный аутсорсным(удаленным) работам по разработке ПО и поглядите насколько нужен FoxPro, а насколько VB. И не стройте себе иллюзий, не выдавайте желаемое за действительное и не запутывайте остальных участников форума. PS. Я писал когда-то на X-Base языках и на FoxPro также. И даже КОГДА-ТО на Clipper Summer'87 (если знаете что это такое). И уж поверьте - я знаю о чем говорю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2004, 10:33 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=32546046&tid=1596441]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
127ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 245ms |
| total: | 441ms |

| 0 / 0 |
