Ошибки в 3.04
В дизайнере если с DataTree попытаться сделать Drag&Drop на форму набора у которого нет полей (пустой запрос или параметрический). Происходит большой БАМ и всё схлапывается.
Если у набора есть поля то показываеся значок, что его нельзя бросить.
Если у набора есть поля то показываеся значок, что его нельзя бросить.
Комментарии
При переключении между страницами область докинга у левого тулбара перемещается вправо.
Если закрыть дизайнер с undocking Inspector, а затем снова открыть дизайнер и взвать Inspector, то выбрать на нем ничего не получится. Спасает только View->Options... Restore defaults. При этом Inspector не появляется а появляется только место где он должен быть. После двух нажатий F11 можно наблюдать уже появление более менее нормального Inspector.
Все легко воспроизводится в frdemo 3.04
Я нашел, что возникает она по причине неинициализированных глобальных переменных. Собственно в файле frxAggregate (строка 383) значение переменной, получаемое как Variant, присваивается строке, однако если переменная не инициализорована, то Variant является null, в связи с чем и появляется ошибка.
Конечно, из проблемы можно выйти, задавая начальные значения переменным в окошке "Список переменных".
Да только плохо в этой ситуации то, что возникает ошибка даже независимо от того, что я ничего не читаю из неинициализированной переменной, до записи в нее значения, что явно противоречит всем известным нормам программирования. Поэтому вариант с заданием начальных значений - это не наш путь
Я предлагаю подправить в модуле frxAggregate функцию Check (начинается на строке 370), изложив ее в следующей редации:
Естественно, что после этого подобные ошибки пропадут, и ФР будет работать, как ему и положено.
frxRpt1:=TFrxReport.Create(self);
в отчете есть объект TfrxBDEQuery зовется qrMaster
Делаем так
TfrxBDEQuery(frxRpt1.FindObject('qrMaster')).ParamByName('1').Value:=1;
получаем в ответ
The procedure entry point @Frxcustomdb@TfrxParamItem@SetValue$qqrrx14System@Variant could not be located
in the dynamic link library frxDB5.bpl.
Это лечится?
сделал вызов функции IIF внутри процедуры Set, чтобы избежать ошибки от деления, в случае, если знаменатель равен нулю, в подобном виде:
Запустил отчет в дизайнере на предварительный просмотр и он НАМЕРТВО подвесил компьютер, так что ни Ctrl-Alt-Del не помогает, ни на нажатия клавиш Caps Lock/Num Lock не реагирует (в смысле, лампочки, не переключаются ) И это под Windows XP!
Помог только Reset.
Естественно, перед запуском отчета на просмотр я его не сохраниил и пропала получасовая работа.
После перезагрузки я решил повторить эксперимент, открыл старый вариант отчета, запустил на просмотр - работает. Далее снова добавил вызов IIF в указанной выше форме, запустил просмотр - все повторилось на 100%. Помог только Reset.
После двух Reset'ов копать глубже у меня желания нету, решил написать в форум и IIF просто избегать.
1. "Старые" отчеты с 3.03 перестали работать. Говорит, что нельзя устанавливать одинаковый DataSet для Report и Band или Page и Band.
Оставил DataSet только в Band'ах. Все работает.
Это так надо ?
2. Открываю дизайнер, жму "превью", закрываю "превью" - ошибка "List Index out of bounds (-1)" и при этом весь отчет пустой (пропадают все бенды).
Закрыл, открыл - все нормально. После "превью" - опять.
Глючит и в дизайнтайм и в рантайм.
Что делать ?
2) у меня все нормально. Ждите 3.05 на этой неделе.
2. Не знаю можно ли это можно считать ошибкой, но всё же стиль для TFrMemoView было бы логично выбирать из выпадающего списка.
3. После задания FieldAliases в DataSet, расположенных на странице диалога (я проверял на TfrxAdoTable), имена полей в дереве данных остаются прежними.
4. Опять возвращаюсь к экспорту в Rtf. Ранее я писал, что экспортируемые в RTF отчёты в версии 2.53 не открываются в русском Word 2000. Тогда нам удалось отложить решение проблемы, пообещав пользователям, что после выхода новой версии экспорт будет. Сейчас у нас трёшка. Экспорт не работает. Теперь Word сообщает: «Таблица повреждена», и показывает на экране мусор. Это можно увидеть на любом отчёте из FrDemo.exe. Что касается версии 2.53, я пришлю пример. Александр, приношу извинения за задержку с ответом – я с тех пор не посещал конференцию.
5. Клавиша «Delete» не позволяет удалить компонент на странице диалога.
6. Для наборов компонент ADO и DbExpress нельзя использовать Connection из программы. Это не удобно, поскольку требуется ввод пароля, тем более что часто пароль или логин дополнительно шифруются в программе. Кроме того, при дополнительном соединении с MSSQL будут недоступны временные таблицы из основного соединения. Во второй версии таких проблем не было. Может в компонентах TXxxConnection предусмотреть возможность сослаться на Connection из программы?
7. Еще хочется какую-нибудь кнопочку вроде «Установить стиль по умолчанию»
Должен сказать, что третья версия оказалась существенно лучше, хотя и менее совместима с предыдущей, чем я ожидал.
С уважением. Константин Беляков.
2) хорошо, сделаю редактор св-ва.
3) дерево обновляется при переключении на другую страницу отчета.
4) ошибка известная, но за неимением ворда2000 пофиксить пока не можем. Вообще странно - результат экспорта открывается во всех версиях word и даже wordpad, а word2000 не открывает.
5) поправлено.
6) См. св-во TfrxADOComponents.DefaultDatabase.
7) есть такая кнопочка, рядом с кнопкой Paste. Вставляем мемку, делаем ей нужное оформление, нажимаем кнопку. Все последующие вставляемые мемки будут иметь аналогичное оформление.
Ситуация изменилась.
Теперь после выхода из превью в дизайнере "List Index..." не возникает, но зато при закрытии дизайнера возникает "Access violation...", и похоже, что на каждый объект отчета.
Короче, стало еще хуже чем было...
Когда ждать 3.05 ?
- Был внизу страницы чего-то редактировал.
- Переключился на другую страницу не важно какую, поправил что хотел
- Вернулся и начал искать то место где-же я был
Разве нельзя автоматически спозиционировать на старое место?
To SterhBy
У тебя нет в отчете параметрических запросов? С ними была подобная проблема. Вроде разобрались. В 3.05 должна быть исправлена.
У меня нет в отчете параметрических запросов.
Отчет делаю с нуля с одним бендом и парой полей.
Такое впечатление, что версия опять под C++Builder не очень то тестировалась.
Как уже писал ранее, при клике на бенд происходит групповое выделение
обьектов на нем, сам бенд выделить можно через дерево отчета.
Бенд я НЕ СДВИГАЮ. При нажатии левой кнопки мыши на бенде я вижу
его свойства, при отпускании происходит групповое выделение обьектов
на нем. Свойства можно посмотреть, но не изменить. Мышь у меня оптическая, руки не дрожат
4) Это просто беда. Что такое "пока не можем"? Word2000 ещё будет жить достаточно долго. На что мы можем расчитывать?
По поводу п.7 про оформление. После закрытия дизайнера и возврата он об этом забывает и приходится снова указать ему какой оформление использовать по умолчанию. Может всётаки вынести это в настройки. Задаются же шрифты для редакторов кода и текста.
Хочу обратить внимание разработчиков, что сообщения об ощибках лучше бы выдавать через стандартный механизм RAISE EXCEPTION, а не использовать для этих целей MessageBox!!!!!!
Это называется - хрен поймаешь!!!
Странно все это...
У меня тоже ВСВ6 иWinXP SP2.
Пробовал поставить 3.04 на Delphi5 (до того был 3,02 и все работало).
Аналогичные проблемы "Access violation...". Поставил 3.03 - та же фигня. Перекомпилировал пакеты - заработало. Поставил 3.04 - не работает. Перекомпилировал пакеты - заработало.
Возвращаюсь к ВСВ6, перекомпиляция пакетов проблему не лечит...
Ради справедливости замечу, что ошибка одинаковая во всех случаях, но возникает в разных местах.
Выравнивание текста, стиль текста, рамки и пр...
И еще на большинстве кнопок нет хинтов, а на тех что есть, они не соответствуют языку ресурсов.
var
S: string;
begin
S := '12345';
if S[1] in ('1', '2') then <- вот здесь
....
Выдает сообщение "Неопределенный идентификатор: '__StringHelper'"
С уважением, Забурдаев Юрий
Где Fields.Objects ни на что не указывает.
Возможно, это связано с какими-то проблемами в работе компонент доступа к данным - я использую frxFIBComponents вер. 1.04.
Да и еще, тут заметил плодотворное обсуждение желаемой функциональности в ФР, решил присоединиться.
AlexTZ
Александр, ты не прав ©. Цели у нас общие, иначе людям с разными целями не по пути.
Конечно, если ФР будет вылетать от необработанных ошибок, это явно не есть хорошо. Но тоже очень плохо, когда разработчик не имеет контроля над процессом построения отчета и обработкой ошибок. Все-таки вместо Access violation'а который вылетает в определенной ситуации и пугает бабушку-бухгалтера, разработчик мог бы повесить свой обработчик с вежливым предложением ткнуть какю-нить кнопку, чтобы все заработало.
А посему, предлагается на ваше рассмотрение весьма востребованная фича, например флажок в EngineOptions вроде InterceptExceptions включенный по умолчанию, который можно отключить и ловить ошибки самому (все-таки мелочь, а многим бы пригодилась). Ну, естественно, в этой ситуации приветствуется разветвленная иерархия классов возможных эксепшинов, которые мог бы ловить разработчик и вместо сообщений "Принтер не подключен" выдавать нечто вроде "Уважаемая, Надежда Ивановна, чтобы получить на бумаге то, что нарисовано на экране, сначале нажмите на большую красную кнопку на ящичке, который стоит слева от вашего стола" ))