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

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
Zver
Местный житель
Сообщения: 204
Зарегистрирован: 13 ноя 2012, 12:47
Откуда: СПб
Контактная информация:

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

Сообщение Zver »

Подскажите, что происходит в это время?

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

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

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

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

Ошибка появляется произвольным образом, то появляется, то пропадает.
Программист-самоучка
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

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

Сообщение 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) - но могут быть сообщения другого рода - типа нет активных визуализаций.
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

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

Сообщение edward_K »

полную версию смотри в
http://www.tyumbit.ru/gal_forum/viewtop ... =8&t=12543
Zver
Местный житель
Сообщения: 204
Зарегистрирован: 13 ноя 2012, 12:47
Откуда: СПб
Контактная информация:

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

Сообщение Zver »

Дело было не в машине :(.

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

При закрытии визуализации появлялась ошибка "Несбалансированный StopVisual" и выходил из интерфейса.
Программист-самоучка
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

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

Сообщение Алексей »

по идее последний подключенный ресурс и дает версию отчета или интерфейса. вы хоть 10 подключите, кто будет последним, тот и покажется.
не должен был давать ошибку по этой причине.
Zver
Местный житель
Сообщения: 204
Зарегистрирован: 13 ноя 2012, 12:47
Откуда: СПб
Контактная информация:

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

Сообщение Zver »

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

Так что понять, что именно сломалось уже нельзя.
Программист-самоучка
Den
Местный житель
Сообщения: 1844
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

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

Сообщение Den »

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