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

Префикс F_UserReport::

Добавлено: 04 июн 2010, 09:42
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'), но это уж извращение...

Добавлено: 04 июн 2010, 10:51
edward_K
создается файл (расширение рекомендуется vil )
и в нем прописываете vipinterface типа
#component "F_UserReport"
VipInterface test licensed (FREE) parameters(w:word);
файл сей #include-ом подключаете в проект. Поищите в Frm - там мож и стандартные описания найдете. Заодно избавитесь от предупреждения в компиляции.

Добавлено: 04 июн 2010, 12:32
RAJAH
Создал F_UserReport.vil

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

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

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

#include F_UserReport.vil
#make 'PostPol.vip'
#make 'PostPol2.vip'
Ситуация не изменилась.
Вы какой проект имели в виду?

Добавлено: 04 июн 2010, 12:33
Алексей
дак, как раз интерфейс RasshZadol не входит ни в одну из компонент!

у меня тож не получилось вызвать из отчетов пользователя интерфейс бескомпонентный так сказать. пришлось включать вызываемые отчеты в собственную компоненту и вызывать mycomp::myface

Добавлено: 04 июн 2010, 12:50
RAJAH
Алексей писал(а):дак, как раз интерфейс RasshZadol не входит ни в одну из компонент!

у меня тож не получилось вызвать из отчетов пользователя интерфейс бескомпонентный так сказать. пришлось включать вызываемые отчеты в собственную компоненту и вызывать mycomp::myface
Я не понял, а в чём совет? 8-)
Делать собственные компоненты? :-) Нет уж, столько интерфейсов перекомпилировать... Похоже, мой вариант с формой не такой уж извращённый...

Добавлено: 04 июн 2010, 12:59
Алексей
дак, совета не было :) я написал что у меня не получилось. вдруг у Вас получится? :)

В вызываемом интерфейсе - есть вывоз ещё других бескомпонентных интерфейсов? если их два три - их тоже можно в компоненту включить.
Или они в свою очередь вызываются ещё в других? :) своя большая доработка?

Добавлено: 04 июн 2010, 14:03
RAJAH
Алексей писал(а):В вызываемом интерфейсе - есть вывоз ещё других бескомпонентных интерфейсов?
Да, есть.
У меня набор некоторых общих интерфейсов, которые в разных местах применяются. Чем их все переделывать, я всё-таки склоняюсь к варианту с формой...

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