Страница 1 из 1

FastReport - Формирование X отчета - зависает процесс

Добавлено: 13 янв 2014, 16:02
Zver
Подскажите, что происходит в это время?

При запуске отчета появляется бегунок с надписью "Формирование X отчета" и открывается редактор FR-отчетов.

Содержание окна редактирования FR-отчетов зависит от параметров вызова функции RunFReport (dstream : longInt; name : string; mode : boolean);

Если параметр mode:

true - то появляется нужная форма в режиме редактирования,
false - то пустая форма

Ошибка появляется произвольным образом, то появляется, то пропадает.

Re: FastReport - Формирование X отчета - зависает процесс

Добавлено: 13 янв 2014, 17:58
edward_K
не фиг фастрепорт вызывать из формы - масло масляное.
Вообще из АРД лучше ничего не вызывать кроме фейсов.
А лучше юзать отчеты пользователя. Делаете шаблон с макроподстановками и в проекте его юзаете(ну да - нужно еще /b добавить в запуск vip)

Код: Выделить всё

// *********************** Зарплата ************************
#define SetMenuUserR MenuZarp
//===================================
#define UserMenuGroup 'Отчеты'
//===================================
//===================================
#define UserNameWnd 'Мои отчеты по заработной плате'
#define UserNameFace Zar_report
#make "RS_UsrReports.vip"
#undef UserNameWnd
#undef UserNameFace
//===================================
#undef UserMenuGroup
//===================================
#undef SetMenuUserR
начало шаблона такое

Код: Выделить всё

!не зя использовать сильно длинные названия фейсов >10
#include UserReport.vih

#IFDEF UserNameFaceDop
#IFDEF UserLongName
VipInterface UserReport_#SetMenuUserR#UserNameFace#UserNameFaceDop Implements 
#ELSE
VipInterface UserReport_#UserNameFace#UserNameFaceDop Implements 
#ENDIF
#Ifdef ComponentVersion
  F_UserReport::IUserReport
#Else
  IUserReport
#EndIf
#ifdef Atl51
licensed (FREE) 
#end
;
#IFDEF UserLongName
Interface UserReport_#SetMenuUserR#UserNameFace#UserNameFaceDop;
#ELSE
Interface UserReport_#UserNameFace#UserNameFaceDop;

#ENDIF
#ELSE // #IFDEF UserNameFaceDop

#IFDEF UserLongName
  VipInterface UserReport_#SetMenuUserR#UserNameFace Implements 
#ELSE
  VipInterface UserReport_#UserNameFace Implements 
#ENDIF
#Ifdef ComponentVersion
  F_UserReport::IUserReport
#Else
  IUserReport
#EndIf
#ifdef Atl51
licensed (FREE) 
#end
;

#IFDEF UserLongName
Interface UserReport_#SetMenuUserR#UserNameFace;
#ELSE
Interface UserReport_#UserNameFace;
#ENDIF
.....
Здесь причина видимо в том, что визуализация по каким то причинам не стопорнулась(висит именно от запуска отчета)
Не раз замечал, что когда много вызовов визуализации где то ломается счетчик открытых визуализаций
Отчасти поможет
if VisualizationActive StopVisual('',0) - но могут быть сообщения другого рода - типа нет активных визуализаций.

Re: FastReport - Формирование X отчета - зависает процесс

Добавлено: 14 янв 2014, 12:54
edward_K
полную версию смотри в
http://www.tyumbit.ru/gal_forum/viewtop ... =8&t=12543

Re: FastReport - Формирование X отчета - зависает процесс

Добавлено: 14 янв 2014, 15:00
Zver
Дело было не в машине :(.

После разбора полётов выяснилось, что к базе был подключен ещё одна версия этого отчета в каком-то древнем ресурсе, в котором и содержалась ошибка.
После удаления его из репозитария проблема исчезла.

При закрытии визуализации появлялась ошибка "Несбалансированный StopVisual" и выходил из интерфейса.

Re: FastReport - Формирование X отчета - зависает процесс

Добавлено: 17 янв 2014, 15:02
Алексей
по идее последний подключенный ресурс и дает версию отчета или интерфейса. вы хоть 10 подключите, кто будет последним, тот и покажется.
не должен был давать ошибку по этой причине.

Re: FastReport - Формирование X отчета - зависает процесс

Добавлено: 21 янв 2014, 12:55
Zver
Скорее всего во втором ресурсе содержалась какая-то промежуточная, ещё не отлаженная версия.
Как раз в то время в отчет вносились доработки.

Так что понять, что именно сломалось уже нельзя.

Re: FastReport - Формирование X отчета - зависает процесс

Добавлено: 22 янв 2014, 01:49
Den
Алексей писал(а):по идее последний подключенный ресурс и дает версию отчета или интерфейса. вы хоть 10 подключите, кто будет последним, тот и покажется.
не должен был давать ошибку по этой причине.
Как то встречал ситуацию, что один и тот же интерфейс, "живущей" в одной и той же компоненте ,если его скомпилять в разные ресурсы и подключить их в репозитарии, отображается потом в галактике "утилиты/запуск внешнего интерфейса" 2-мя записями с указанием каждого из этих 2-х ресурсов. По уверением разработчиков такого никак не должно быть, но я даже скрин срезал этого дела ) К сожаления времени не было допинать чтобы попытаться понять из за чего такая проблема наблюдалась...