Несколько печатных форм в одном интерфейсе

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

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

Ответить
Sheinina
Местный житель
Сообщения: 366
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Несколько печатных форм в одном интерфейсе

Сообщение Sheinina »

Есть интерфейс, в котором по запосу выбирается, что печатать. Структура такая:

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

Interface main_int;
...
HandleEvent
...
cmPrint:
   RunInterface('VyborRegim', regim);
   case regim of
     0: RunInterface('Print1');
     1: RunInterface('Print2');
     2: RunInterface('Print3');
   end;
...
end.

Interface Print1;
...
Form F1('f1', 'f1.out');
...
end.

Interface Print2;
...
Form F2('f2', 'f2.out');
...
end.

Interface Print3;
...
Form F3('f3', 'f3.out');
...
end.
И вот вочему-то не хотят формы F2 и F3 быть видимыми ...
Hmyrii
Постоянный гость
Сообщения: 62
Зарегистрирован: 07 июн 2006, 08:23

Сообщение Hmyrii »

из этого кода сложно понять почему у тебя не видно формы
можно попробовать каждую из них сделать в свою группу
и делать SetGroup
а еще можно попробовать перед непосредственной печатью перейти на закладку "настройка отчетов" и проверить, может они там помечены инсертом как hide
Sheinina
Местный житель
Сообщения: 366
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Сообщение Sheinina »

Формы стали видимы, когда я перевела их на один прототип. Вроде как не слишком критично...
А в "Настройке отчетов" она их тоже не показывала...
Sheinina
Местный житель
Сообщения: 366
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Сообщение Sheinina »

Подскажите, пожалуйста, что это за функция. В имеющейся у меня документации я ее не нашла :eek:
oiko
Местный житель
Сообщения: 419
Зарегистрирован: 29 мар 2005, 17:49

Сообщение oiko »

Я делал несколько иначе

Interface main_int;
...
Form F1('f1', 'f1.out');
Form F2('f2', 'f2.out');
Form F3('f3', 'f3.out');

HandleEvent
...

cmprintdoc:
{
rundialog(mainprint,prnchoice);
case prnchoice of
0 : urprint1(); процедура печатает форму F1
1 : urprint2(); процедура печатает форму F2
2 : urprint3(); процедура печатает форму F3
end;//case
}

При выборе прототипа F1 вы никогда не увидите F2 и F3,
при выборе прототипа F2 вы никогда не увидите F1 и F3 т.к. на печать вызывается только один прототип.
Maverick
Абориген
Сообщения: 943
Зарегистрирован: 29 мар 2005, 17:49
Откуда: External Developer
Контактная информация:

Сообщение Maverick »

Каждая секция Form объявляет не просто форму, а прототип для формы. Отсюда и проблемы видимости.
Изображение
Знающий людей разумен.
Знающий себя просветлён.
Побеждающий людей силен.
Побеждающий самого себя могущественнен
Ответить