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

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

Добавлено: 13 июн 2006, 16:29
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 быть видимыми ...

Добавлено: 14 июн 2006, 05:09
Hmyrii
из этого кода сложно понять почему у тебя не видно формы
можно попробовать каждую из них сделать в свою группу
и делать SetGroup
а еще можно попробовать перед непосредственной печатью перейти на закладку "настройка отчетов" и проверить, может они там помечены инсертом как hide

Добавлено: 14 июн 2006, 12:14
Sheinina
Формы стали видимы, когда я перевела их на один прототип. Вроде как не слишком критично...
А в "Настройке отчетов" она их тоже не показывала...

Добавлено: 16 июн 2006, 15:32
Sheinina
Подскажите, пожалуйста, что это за функция. В имеющейся у меня документации я ее не нашла :eek:

Добавлено: 26 июн 2006, 09:44
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 т.к. на печать вызывается только один прототип.

Добавлено: 26 июн 2006, 20:16
Maverick
Каждая секция Form объявляет не просто форму, а прототип для формы. Отсюда и проблемы видимости.