Префикс F_UserReport::

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

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

Ответить
RAJAH
Местный житель
Сообщения: 932
Зарегистрирован: 18 фев 2008, 12:49

Префикс F_UserReport::

Сообщение RAJAH »

Доброго времени суток!
Подскажите, что можно сделать, чтобы к своим интерфейсам можно было обращаться без префикса "F_UserReport::". Вот такая ситуация возникла:

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

#define ComponentVersion
#ifdef ComponentVersion
#component "F_UserReport"
#endif
#include UserReport.vih

VipInterface UserReport_PostPolReport2 Implements IUserReport;

Interface UserReport_PostPolReport2;

create view;

procedure Run;
begin
  RunInterface('RasshZadol');
end;

...
При попытке запуска этого интерфейса из "Отчётов пользователя" система не может найти F_UserReport::RasshZadol, но ведь он совсем не так называется! :)
Если добавить строку #component "F_UserReport" в код интерфейса RasshZadol, то те интерфейсы, которые в нём вызываются, тоже "теряются" для системы, ибо она требует F_UserReport::... Неужели все свои интерфейсы с #component "F_UserReport" делать?
Как быть?
Пока писал, пришло в голову: написать RunForm('...'), а уж из неё RunInterface('RasshZadol'), но это уж извращение...
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

создается файл (расширение рекомендуется vil )
и в нем прописываете vipinterface типа
#component "F_UserReport"
VipInterface test licensed (FREE) parameters(w:word);
файл сей #include-ом подключаете в проект. Поищите в Frm - там мож и стандартные описания найдете. Заодно избавитесь от предупреждения в компиляции.
RAJAH
Местный житель
Сообщения: 932
Зарегистрирован: 18 фев 2008, 12:49

Сообщение RAJAH »

Создал F_UserReport.vil

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

#component "F_UserReport"
VipInterface RasshZadol licensed (FREE);
Подключил его в проект

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

#include F_UserReport.vil
#make 'PostPol.vip'
#make 'PostPol2.vip'
Ситуация не изменилась.
Вы какой проект имели в виду?
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

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

дак, как раз интерфейс RasshZadol не входит ни в одну из компонент!

у меня тож не получилось вызвать из отчетов пользователя интерфейс бескомпонентный так сказать. пришлось включать вызываемые отчеты в собственную компоненту и вызывать mycomp::myface
RAJAH
Местный житель
Сообщения: 932
Зарегистрирован: 18 фев 2008, 12:49

Сообщение RAJAH »

Алексей писал(а):дак, как раз интерфейс RasshZadol не входит ни в одну из компонент!

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

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

дак, совета не было :) я написал что у меня не получилось. вдруг у Вас получится? :)

В вызываемом интерфейсе - есть вывоз ещё других бескомпонентных интерфейсов? если их два три - их тоже можно в компоненту включить.
Или они в свою очередь вызываются ещё в других? :) своя большая доработка?
RAJAH
Местный житель
Сообщения: 932
Зарегистрирован: 18 фев 2008, 12:49

Сообщение RAJAH »

Алексей писал(а):В вызываемом интерфейсе - есть вывоз ещё других бескомпонентных интерфейсов?
Да, есть.
У меня набор некоторых общих интерфейсов, которые в разных местах применяются. Чем их все переделывать, я всё-таки склоняюсь к варианту с формой...
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

один раз задайте в проекте #component "F_UserReport" и все туда переедут, если в самом фейсе не будет задано чего то другого. #component в подключаемых файлах как мне показалось действует только до конца этого файла.
Ответить