среда, 22 сентября 2010 г.

Ошибка FastReport Error reading xxx.Transparent: Property Transparent does not exist

   Решил обновить FastRepot до версии 4.9. Удалил из Delphi предыдущею версию FastReport. Установил новую версию FastReport(можно также ознакомиться с документацией по установке FastReport). Открыл старый проект - проект собрался без проблем. А вот при запуске выскакивает сообщение: Project имя_проекта.exe raised exception class EReadError with message 'Error reading picWheelLeft.Transparent: Property Transparent does not exist.
  После детального анализа оказалось что используется старая версия FastReport. (Забыл удалить ссылку на старую версию с Tools->Environmet options...->Library->Library Path). После удаления ссылки на старую версию все начало работать.

Установка FastReport

  Сегодня устанавливал FastRepor. И решил выложить официальную документацию по установке у себя на блоге.

СОДЕРЖАНИЕ

I. Введение
II. Ручная установка пакетов FastReport
III. Компиляция пакетов FastReport Basic Edition и Standard Edition
IV. Компиляция пакетов FastReport Professional Edition и Enterprise Edition
------------------------------------------------------------------------
I. Введение
   FastReport поставляется с откомпилированными файлами *.dcu, *.bpl, *.dcp. Программа установки копирует runtime пакеты в системную папку и устанавливает остальные пакеты в Delphi. Вам ничего не нужно устанавливать вручную. Тем не менее, если вы изменили исходники FR, поменяли языковые ресурсы,или имеете другую версию TeeChart, IBX или прочих компонент Delphi, вы должны перекомпилировать пакеты FR.

   FastReport состоит из нескольких пакетов, разделенных на runtime и design-time части. Design-time пакеты имеют префикс 'dcl' в имени пакета. Каждый пакет имеет номер, соответствующий версии Delphi. Например, пакет dclfrx4.dpk - это design-time пакет для Delphi4. Ниже приведен список run-time пакетов, используемых FastReport ('*' означает версию Delphi):
fs*.dpk - FastScript, основной пакет
fsDB*.dpk - FastScript, DB классы и контролы
fsBDE*.dpk - FastScript, BDE компоненты
fsADO*.dpk - FastScript, ADO компоненты
fsIBX*.dpk - FastScript, IBX компоненты
fsTee*.dpk - FastScript, Tee компоненты
frx*.dpk - FastReport, основной пакет
frxDB*.dpk - FastReport, обертка над TDataSet (TfrxDBDataSet)
frxIBO*.dpk - FastReport, обертка над IB_Objects (TfrxIBODataSet)
frxBDE*.dpk - FastReport, BDE компоненты
frxADO*.dpk - FastReport, ADO компоненты
frxIBX*.dpk - FastReport, IBX компоненты
frxDBX*.dpk - FastReport, DBX компоненты
frxTee*.dpk - FastReport, Tee компоненты
frxe*.dpk - FastReport, фильтры экспорта
Design-time пакеты:
dclfs*.dpk
dclfsDB*.dpk
dclfsBDE*.dpk
dclfsADO*.dpk
dclfsIBX*.dpk
dclfsTee*.dpk
dclfrx*.dpk
dclfrxDB*.dpk
dclfrxIBO*.dpk
dclfrxBDE*.dpk
dclfrxADO*.dpk
dclfrxIBX*.dpk
dclfrxDBX*.dpk
dclfrxTee*.dpk
dclfrxe*.dpk
------------------------------------------------------------------------
II. Ручная установка пакетов FastReport

  Выполните следующие действия для ручной установки пакетов FastReport,  входящих в стандартную поставку.

Шаг 1. Копирование run-time пакетов в системную папку
- закройте Delphi
- скопируйте \Lib\fs*.bpl файл (* = версия Delphi) в Windows\System32
(Windows\System для Windows 95/98/ME)
- скопируйте \Lib\fsDB*.bpl файл в Windows\System32
- скопируйте \Lib\fsBDE*.bpl файл в Windows\System32
- скопируйте \Lib\fsADO*.bpl файл в Windows\System32
- скопируйте \Lib\fsIBX*.bpl файл в Windows\System32
- скопируйте \Lib\fsTee*.bpl файл в Windows\System32
- скопируйте \Lib\frx*.bpl файл в Windows\System32
- скопируйте \Lib\frxDB*.bpl файл в Windows\System32
- скопируйте \Lib\frxBDE*.bpl файл в Windows\System32
- скопируйте \Lib\frxADO*.bpl файл в Windows\System32
- скопируйте \Lib\frxIBX*.bpl файл в Windows\System32
- скопируйте \Lib\frxDBX*.bpl файл в Windows\System32
- скопируйте \Lib\frxTee*.bpl файл в Windows\System32
- скопируйте \Lib\frxe*.bpl файл в Windows\System32

Шаг 2. Установка design-time пакетов
- в Delphi IDE, выберите "Component|Install Packages..."
- нажмите кнопку "Add..." и выберите файл \Lib\dclfs*.bpl (* = версия Delphi)
- нажмите кнопку "Add..." и выберите файл \Lib\dclfsDB*.bpl
- нажмите кнопку "Add..." и выберите файл \Lib\dclfsBDE*.bpl
- нажмите кнопку "Add..." и выберите файл \Lib\dclfsADO*.bpl (D5+)
- нажмите кнопку "Add..." и выберите файл \Lib\dclfsIBX*.bpl (D5+)
- нажмите кнопку "Add..." и выберите файл \Lib\dclfsTee*.bpl
- нажмите кнопку "Add..." и выберите файл \Lib\dclfrx*.bpl
- нажмите кнопку "Add..." и выберите файл \Lib\dclfrxDB*.bpl
- нажмите кнопку "Add..." и выберите файл \Lib\dclfrxBDE*.bpl
- нажмите кнопку "Add..." и выберите файл \Lib\dclfrxADO*.bpl (D5+)
- нажмите кнопку "Add..." и выберите файл \Lib\dclfrxIBX*.bpl (D5+)
- нажмите кнопку "Add..." и выберите файл \Lib\dclfrxDBX*.bpl (D6+)
- нажмите кнопку "Add..." и выберите файл \Lib\dclfrxTee*.bpl
- нажмите кнопку "Add..." и выберите файл \Lib\dclfrxe*.bpl

Шаг 3. Добавление путей
- в Delphi IDE, выберите "Tools|Environmet options..."
- переключитесь на закладку "Library", строка ввода "Library path"
- добавьте путь к папке "FastReport 4\Lib"

------------------------------------------------------------------------
III. Компиляция пакетов FastReport Basic Edition и Standard Edition

Выполните следующие действия для компиляции пакетов FastReport (при внесении изменений в исходный код и др.)

Шаг 0 (только для FastReport Basic Edition)
- откройте файл FastReport 4\Lib\frx.inc и раскомментируйте строку:
{$DEFINE FR_VER_BASIC}

Шаг 1. Добавление путей
1.1. в Delphi IDE, выберите "Tools|Environmet options..."
1.2. переключитесь на закладку "Library", строка ввода "Library path"
1.3. добавьте путь к папке FastReport 4\Lib

Шаг 2. Компиляция run-time пакетов
2.1. повторите шаги 2.2-2.4 для следующих пакетов:
- FastReport 4\Lib\fs*.dpk (* = версия Delphi)
- FastReport 4\Lib\fsDB*.dpk
- FastReport 4\Lib\fsBDE*.dpk
- FastReport 4\Lib\fsADO*.dpk
- FastReport 4\Lib\fsIBX*.dpk
- FastReport 4\Lib\fsTee*.dpk
- FastReport 4\Lib\frx*.dpk
- FastReport 4\Lib\frxDB*.dpk
- FastReport 4\Lib\frxADO*.dpk (FR3 Std)
- FastReport 4\Lib\frxBDE*.dpk (FR3 Std)
- FastReport 4\Lib\frxIBX*.dpk (FR3 Std)
- FastReport 4\Lib\frxDBX*.dpk (FR3 Std)
- FastReport 4\Lib\frxTee*.dpk
- FastReport 4\Lib\frxe*.dpk
2.2. откройте пакет (с помощью команды меню "File|Open project...", выберите "Delphi package (*.dpk)" в качестве типа файла)
2.3. нажмите кнопку "Compile"
2.4. закройте диалог "Package"

Шаг 3. Копирование run-time пакетов в системную папку
3.1. скопируйте следующие файлы из папки Delphi_dir\Projects\Bpl
в папку Windows\System32 (Windows\System для Win9x/Me):
- fs*.bpl (* = версия Delphi)
- fsDB*.bpl
- fsBDE*.bpl
- fsADO*.bpl
- fsIBX*.bpl
- fsTee*.bpl
- frx*.bpl
- frxDB*.bpl
- frxADO*.bpl (FR3 Std)
- frxBDE*.bpl (FR3 Std)
- frxIBX*.bpl (FR3 Std)
- frxDBX*.bpl (FR3 Std)
- frxTee*.bpl
- frxe*.bpl
3.2. замечание для пользователей Delphi4: файлы *.bpl находятся в папке
FastReport 4\Lib, а не в Delphi_dir\Projects\Bpl

Шаг 4. Компиляция и установка design-time пакетов
4.1. повторите шаги 4.2-4.5 для следующих пакетов:
- FastReport 4\Lib\dclfs*.dpk (* = версия Delphi)
- FastReport 4\Lib\dclfsDB*.dpk
- FastReport 4\Lib\dclfsBDE*.dpk
- FastReport 4\Lib\dclfsADO*.dpk
- FastReport 4\Lib\dclfsIBX*.dpk
- FastReport 4\Lib\dclfsTee*.dpk
- FastReport 4\Lib\dclfrx*.dpk
- FastReport 4\Lib\dclfrxDB*.dpk
- FastReport 4\Lib\dclfrxADO*.dpk (FR3 Std)
- FastReport 4\Lib\dclfrxBDE*.dpk (FR3 Std)
- FastReport 4\Lib\dclfrxIBX*.dpk (FR3 Std)
- FastReport 4\Lib\dclfrxDBX*.dpk (FR3 Std)
- FastReport 4\Lib\dclfrxTee*.dpk
- FastReport 4\Lib\dclfrxe*.dpk
4.2. откройте пакет (с помощью команды меню "File|Open project...", выберите
"Delphi package (*.dpk)" в качестве типа файла)
4.3. нажмите кнопку "Compile"
4.4. нажмите кнопку "Install"
4.5. закройте диалог "Package", ответьте "NO" когда Delphi попросит сохранить изменения!

------------------------------------------------------------------------
IV. Компиляция пакетов FastReport Professional Edition и Enterprise Edition

Выполните следующие действия для компиляции исходного кода FastReport (при внесении изменений в исходный код и др.)

Шаг 1. Удаление путей к старым файлам
1.1. в Delphi IDE, выберите "Tools|Environmet options..."
1.2. переключитесь на закладку "Library", строка ввода "Library path"
1.3. удалите путь к папке FastReport 4\Lib

Шаг 2. Добавление путей
2.1. в Delphi IDE, выберите "Tools|Environmet options..."
2.2. переключитесь на закладку "Library", строка ввода "Library path"
2.3. добавьте путь к папкам FastReport 4\FastScript, FastReport 4\Source,
FastReport 4\Source\BDE,ADO,IBX,DBX, FastReport 4\Source\ExportPack

Шаг 3. Компиляция run-time пакетов
3.1. повторите шаги 3.2-3.4 для следующих пакетов:
- FastReport 4\FastScript\fs*.dpk (* = версия Delphi)
- FastReport 4\FastScript\fsDB*.dpk
- FastReport 4\FastScript\fsBDE*.dpk
- FastReport 4\FastScript\fsADO*.dpk
- FastReport 4\FastScript\fsIBX*.dpk
- FastReport 4\FastScript\fsTee*.dpk
- FastReport 4\Source\frx*.dpk
- FastReport 4\Source\frxDB*.dpk
- FastReport 4\Source\ADO\frxADO*.dpk
- FastReport 4\Source\BDE\frxBDE*.dpk
- FastReport 4\Source\IBX\frxIBX*.dpk
- FastReport 4\Source\DBX\frxDBX*.dpk
- FastReport 4\Source\frxTee*.dpk
- FastReport 4\Source\ExportPack\frxe*.dpk
3.2. откройте пакет (с помощью команды меню "File|Open project...", выберите
"Delphi package (*.dpk)" в качестве типа файла)
3.3. нажмите кнопку "Compile"
3.4. закройте диалог "Package"

Шаг 4. Копирование run-time пакетов в системную папку
4.1. скопируйте следующие файлы из папки Delphi_dir\Projects\Bpl
в папку Windows\System32 (Windows\System для Win9x/Me):
- fs*.bpl (* = версия Delphi)
- fsDB*.bpl
- fsBDE*.bpl
- fsADO*.bpl
- fsIBX*.bpl
- fsTee*.bpl
- frx*.bpl
- frxDB*.bpl
- frxADO*.bpl
- frxBDE*.bpl
- frxIBX*.bpl
- frxDBX*.bpl
- frxTee*.bpl
- frxe*.bpl
4.2. замечание для пользователей Delphi4: файлы *.bpl находятся в папках с
исходниками, а не в Delphi_dir\Projects\Bpl:
FastReport 4\FastScript, FastReport 4\Source,
FastReport 4\Source\BDE,ADO,IBX,DBX, FastReport 4\Source\ExportPack

Шаг 5. Компиляция и установка design-time пакетов
5.1. повторите шаги 5.2-5.5 для следующих пакетов:
- FastReport 4\FastScript\dclfs*.dpk (* = версия Delphi)
- FastReport 4\FastScript\dclfsDB*.dpk
- FastReport 4\FastScript\dclfsBDE*.dpk
- FastReport 4\FastScript\dclfsADO*.dpk
- FastReport 4\FastScript\dclfsIBX*.dpk
- FastReport 4\FastScript\dclfsTee*.dpk
- FastReport 4\Source\dclfrx*.dpk
- FastReport 4\Source\dclfrxDB*.dpk
- FastReport 4\Source\ADO\dclfrxADO*.dpk
- FastReport 4\Source\BDE\dclfrxBDE*.dpk
- FastReport 4\Source\IBX\dclfrxIBX*.dpk
- FastReport 4\Source\DBX\dclfrxDBX*.dpk
- FastReport 4\Source\dclfrxTee*.dpk
- FastReport 4\Source\ExportPack\dclfrxe*.dpk
5.2. откройте пакет (с помощью команды меню "File|Open project...", выберите
"Delphi package (*.dpk)" в качестве типа файла)
5.3. нажмите кнопку "Compile"
5.4. нажмите кнопку "Install"
5.5. закройте диалог "Package", ответьте "NO" когда Delphi попросит сохранить изменения!

Cannot load package 'tee70'. It contains unit 'TeeAbout' which is also contained in package 'Tee67'

   Сегодня нужно было открыть старый проект, в котором использовалась старая версия компонент FastReport v 2.47 (на данный момент уже есть v4.x.x) все делал по описанию, и при инсталляции пакета произошла ошибка: Cannot load package 'tee70'. It contains unit 'TeeAbout' which is also contained in package 'Tee67'. Все дело в том что у меня установлен Chart v6 а данная версия Fast Report работает с 7-й версией.
   Для устранения данной проблемы я немного изменил файлы fr7.dpk и FR.inc следующим образом:

Файл fr7.dpk:
{$IFDEF TeeChartStd},TEE   {$ENDIF}
{$IFDEF TeeChart45},TEE45     {$ENDIF}
{$IFDEF TeeChart7},   TEE7     {$ENDIF}
{$IFDEF TeeChart67},DclTee67 {$ENDIF}
// добавил строку
и в файле FR.inc:
{$DEFINE TeeChart67}
.....
{$IFDEF TeeChart67} //FIX
  {$UNDEF TeeChartStd}
  {$DEFINE TeeChart}
{$ENDIF}
   После этих изменений ошибка:  Cannot load package 'tee70'. It contains unit 'TeeAbout' which is also contained in package 'Tee67'. исчезла и FastReport успешно установился.

вторник, 14 сентября 2010 г.

Ошибка corrupt portfolio stream при открытии проекта в Delphi

   Сегодня при открытии проекта в Delphi произошла ошибка corrupt portfolio stream. Она связана с некорректным сохранением файла с описанием профиля диаграмм (*.ddp).  (я ранее описывал описание типов файлов в среде Delphi).
   Данную проблему можно решить двумя способами:
1. Возобновить резервные копии файлов с расширением *.dpp, из резервные копии храняться в файлах с расширением *.~ddp
2. другой способ рассчитан на удаление файлов с расширением *.dpp

PS. Я использовал для решения своей проблемы 2-й вариант, поскольку в проекте не использовал диаграмм.

понедельник, 6 сентября 2010 г.

Семинар Embarcadero RAD Studio XE (Delphi 2010)

   В честь выхода новой версии  Embarcadero RAD Studio XE, объединяющая в себе Delphi XE, C++Builder XE, Delphi Prism XE, RadPHP XE будут проводиться семинары. В частности семинар пройдет и в Киев 13 сентября 2010 г. Начало регистрации в 9:30, а сам семинар будет проводиться с 10:00 до 14:00.

   Участие в докладах примет Дэвид Интерсимоне (David I), и другии представители компании.
Участие в семинаре бесплатно и в нем могут принимать участие разработчики, архитекторы, администраторы баз данных, руководители ИТ-отделов.

Нужно только предварительно зарегистрироваться, это можно сделать перейдя по ссылке.