C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

  ЗакрытаНовая тема
Начались глюки
** Admin
  Отправлено: 17.12.2005, 10:28


Не зарегистрирован







Начались глюки.

Откомпилировал простейший проект, который состоит из
пяти строк:

CODE

//--------------------------------------------------------
void __fastcall TForm2::Button1Click(TObject *Sender)
{
Table1->Active = true;
frxReport1->LoadFromFile("1.fr3",true);
frxReport1->PrepareReport(true);
frxReport1->ShowPreparedReport();
}
//-------------------------------------------------------


откомпилилось, естественно без ошибок.

При запуске (Run) наглухо все виснет !
При этом загрузка ЦП — 100%, доступно памяти — 16 МБ
(и это из 256 Мб оперативной памяти) и свободно на диске
С — 770 Мб.

Причем до нажатия на эту кнопку Button1 и выполнения
этого кода и не доходит, виснет все при запуске программы !!! ohmy.gif

Самое интересное — вчера этот самый проект работал
и запускался !

И как это дерьмо, интересно, лечить ? Что в нем могло так глюкнуться ?

Admin
Отправлено: 17.12.2005, 10:54


Владимир

Группа: Администратор
Сообщений: 1190



Плюнул на все, создал новый проект из одной формы, проект запустился.

Вставил код и компоненты из второй формы.
При компиляции и попытке запуска программы — опять зависание,
Windows не висит, висит именно BDS2006,
загрузка проца — 100%, свободной оперативной памяти — 18 Мб
из 256 Мб (по показаниям Диспетчера Задач Windows)

Такое впечатление, что Pentium-3 500 с 256 мб памяти
для BDS2006 не хватает ! Хотя на нехватку памяти и не ругается.

Ладно, знимаем задачу, запускаемся по новой,
открываем опять этот проект.

Удаляем с формы компоненты и код нажатия на кнопку,
сохраняем изменения (Save All). запускаем компиляцию -
Project-Build. Компиляция естественно проходит без ошибок biggrin.gif
запускаем программу — и получаем опять загрузку проца 100%
и зависание среды BDS !!!
Admin
Отправлено: 17.12.2005, 21:48


Владимир

Группа: Администратор
Сообщений: 1190



Причем такой глюк происходит, если запускать программу из
среды BDS, если ее запускать саму по себе — все нормально
работает.

Но количество отжираемой BDS памяти конечно весьма и весьма
велико.

Далее, добавляю на форму компоненты TTable, TDBGrid, TDataSource,
TfrxReport, TfrxDatase, связываю их между собой, пишу простейший
обработчик нажатия на кнопку Button1

CODE

void __fastcall TForm2::Button1Click(TObject *Sender)
{
Table1->Active = true;
frxReport1->LoadFromFile("1.fr3", true);
frxReport1->ShowReport(true);
}


(естественно делаю в дизайнере FastReport-a простейший отчет
из таблицы учебной базы BCDEMOS, называю файл сотчетом 1.fr3)

Компиляция — понятно, без ошибок и warning-ов.
Запускаю на выполнения из среды BDS — загрузка ЦП-100% и зависание,
запускаю программу из проводника — Access Violation по чтению памяти !!!!!

Хорошо, меняю только свойства этого проекта -
Снимаю галочки: Build With Runtime Packages и Use Dynamic RTL.
Компилю проект — получаю .ехе на 1835 Кб.

Запускаю его из проводника — программа запускается
и работает без ошибок: открывает таблицу и строит
выводит по ней отчет.
Запускаю программу из среды BDS (Run): также все запускается и
работает без ошибок.
Память — в норме, еще свободно — 65 Мб оперативной.


В обшем — в результате экспериментов установил — эту беду
вызывает компонент FastReport, без него все работает
нормально — с ним — глюки.
Admin
Отправлено: 17.12.2005, 22:01


Владимир

Группа: Администратор
Сообщений: 1190



Что именно вызывает эти глюки — не знаю.

Возможны варианты -

1. На компьютере также установлен FastReport другой версии 2.54
в C++Builder 6

2. Русификация FastReport выполненная утилитой Recompile.exe,
входящей в поставку FastReport.
--------------------------------------------

1. Удаляю из среды BDS2006 все компоненты FastReport,
удаляю пути к папкам, с компьютера деинсталлирую оба FastReport-a,
удаляю все папки с FastReport, перезагружаю компьютер.

** Admin
Отправлено: 17.12.2005, 22:37


Не зарегистрирован







Итак, продолжаю: перезагрузил компьютер, еще раз проверил
удаление .bpl файлов из WINNT/SYSTEM32

Запустил установку FastReport 3.19 в BDS ( файл fr3_19_26_d10p.exe )
Все успешно установилось.

Захожу в BDS2006 — на палитре появились вкладки FastReport-a и FastScript-a.
Открываю сохраненный ранее проект (который глючил),
запускаю — все работает отлично, без глюков.

Значит глюк был из-за какой-то из двух вышеперечисленных причин !
Но — FastReport — увы, пока на английском языке. sad.gif
Admin
Отправлено: 17.12.2005, 23:21


Владимир

Группа: Администратор
Сообщений: 1190



Далее — запускаю утилиту recompile.exe, указываю
русификацию FastReport, все нормально русифицируется,
утилита показывает перекомпиляцию 4 файлов.

Запускаю BDS2006 — захожу — FastReport русифицирован нормально.
Открываю проект, который нормально работал в FastReport
до Recompile и запускаю его Run — получаю загрузку ЦП-100%
и зависание BDS2006 — то есть опытным путем устанавливаем, что
глюк начинается после русификации FastReport утилитой
recompile.exe !
Запускаю этот exe из проводника — получаю AccessViolation !

Глюк полностью повторяется ! wink.gif
Admin
Отправлено: 17.12.2005, 23:33


Владимир

Группа: Администратор
Сообщений: 1190



Но !
Если переключиться на режим (снять галочки)
в BDS206 — Packages — Build With Runtime Packages
откомпилить и запустить проект — все работает нормально.
** Admin
Отправлено: 19.12.2005, 22:16


Не зарегистрирован







Все, проблема решена !

По совету службы поддержки FastReport:

Время: 18.12.2005 23:46:08 [ Цитировать ]
От кого: [13690] (den26481) Den Zubov (техподдержка)
После смены языка сделать "Recompile all Packages".


Помогло. И FastReport работает без проблем !

Вернуться в Borland Developer Studio 2006
ЗакрытаНовая тема