SLK, спасибо за дезинёр. Закачал с ящика только на днях...
Но я вот о чём подумал. Если для дезайнера нужен Qt3, а мой проект будет
написан на Qt4, то ничего хорошего из этого не выйдет. К тому же, если
как-то получится встроить дизайнер в код, то тем более понадобится Qt4-дизайнер.
Теперь по поводу генератора NCReport. Его сырцы я скомпилил, получил ncreport.exe.
Что ему нужно для запуска. И вообще, что он делает. При запуске выводит сообщение
об ошибке: Could not load database driver.
В исходниках копаться тяжко, особенно вечерком. Хочется сразу всё и быстро...
(*) Что касается генератора отчётов, то я представляю себе набор классов, которые ты в своей программе используешь для генерации отчётов по шаблонам. Меня смуща ют твои слова (предыдущие посты) о том, что в NCReport генератор легко встраивается в код. А как можно работать с генератором не иначе, как в своём коде...
Он что, самостоятельная программка (ncreport.exe) ?
А вообще, думаю, может стоит остановиться на OpenRPT. Дело в том, что необходимо выполнить следующие требования:
1. Генератор отчётов должен быть кросслпатформенным, желательно написан на Qt
2. Обязательно наличие дизайнера шаблонов.
3. Русская и английская локализации этого дизайнера
4. Работа генератора отчётов (включая дизайнер) с MySQL
5. Возможность сохранения шаблонов в базе данных
6. Желательно (но не обязательно) вызывать дизайнер шаблонов из своей программы (в runtime). Подобно FastReport'у у Builder'а. При этом в своей программе должен осуществляться максимальный контроль за действиями пользователя в дизайнере. Подобные средства, как я помню, предоставляет FastReport. Что именно - не знаю (кроме вызова дизайнера шаблонов в runtime), но что-то такое там есть.
Кстати, если кто работал с FastReport'ом, неплохо было бы изложить в двух словах, как там осуществляется такой контроль и чем может управлять главная программа (вызвавшая дизайнер шаблонов)...
Теперь рассмотрю все пункты в отношении NCReport'а и OpenRPT.
1. Оба написаны на Qt. Но дизанер NCReport - на Qt3. Такой вариант не подойдёт, если только не дождаться, пока выйдет Qt4-дизайнер. OpenRPT, вроде написан на Qt3, но можно использовать Qt3 Support Library.
2. Дизайнеры шаблонов есть и там, и там.
3. С NCReport'ом, наверное будут проблемы. А вот OpenRPT имеет многоязыковую поддержку.
4. NCReport с MySQL работает, а вот с OpenRPT не совсем понятно...
5. В OpenRPT - запросто (функционально обеспечивается), а вот в случае с NCReport'ом - придётся немного модифицировать код, а ведь это нежелательно... Да и не проверено, будет ли работать...
6. В NCReport такого нет, а в OpenRPT - не зн...
Кстати, 6-й пункт нужен для того, чтобы, во-первых пользователям не пришлось работать с двумя программами - основной и дизайнером шаблонов, и, во-вторых, чтобы контролировать пользователя во время его работы с дизайнером, в-третьих, чтобы компилить всё можно было через один makefile...
Преимущества OpenRPT:
1. Многоязыковая локализация
2. Возможность сохранения шаблонов в БД
3. Функциональность шире. Здесь на меня оказал впечатление его интерфейс - солидно выглядит по сравнению с NCReport'ом. Сам я пока не работал с OpenRPT (не могу скомпилить - у меня Qt4)
Преимущества NCReport:
1. Возможность перемещения группы объектов в дизайнере
2. Проще встраивается генератор в код - здесь не совсем понятно (* выше)
Таким образом, OpenRPT удовлетворяет больше требований (главным образом, локализация и
шаблоны в БД)...
Но вот проблема вызова дизайнера шаблонов из своей программы (в runtime) остаётся...
________________________________________
Что из себя представляет Qt3 Support Library ?
На каком Qt написан OpenRPT ?
В OpenRPT какие языки поддерживаются ?
OpenRPT ориентирован на PostgreeSQL, а как он ладит с MySQL ?
В OpenRPT есть возможность реализации пункта 6 ?
В NCReport 2.0 не появилась возможность перемещения группы объектов ?
В OpenRPT есть footer'ы и header'ы для всего отчёта ?
Как компильнуть OpenRPT (2.0) ?
Как в FastReport, кроме вызова дизайнера шаблонов в runtime, реализуются элементы пункта 6 (в 2 словах) ?
Даже если никак не получится встроить дизайнер шаблонов в код, то как создать файл проекта, чтобы можно было компилить и свою прогу, и дизайнер одним махом...