LibraryName в TfrxFIBDatabase

отредактировано 19:13 Раздел: FastReport 3.0
В TfrxFIBDatabase отсутствует LibraryName.

Надоело ее добавлять. Вначале добавил свойство LibraryName в frxFIBComponents.pas:

TfrxFIBDatabase = class(TfrxCustomDatabase)
private
function GetLibraryName: TFileName;
procedure SetLibraryName(Value: TFileName);
published
property LibraryName: TFileName read GetLibraryName write SetLibraryName;
end;

function TfrxFIBDatabase.GetLibraryName: TFileName;
begin
try
Result := FDatabase.LibraryName;
except
Result := '';
end
end;

procedure TfrxFIBDatabase.SetLibraryName(Value: TFileName);
var
Conn: boolean;
begin
with FDatabase do
begin
Conn := Connected;
Connected := false;
LibraryName := Value;
end;
Connected := Conn;
end;

Что имеем с результате:

1. Свойство LibraryName не имеет конечного эллипса в инспекторе объектов.
2. Свойство LibraryName сохраняется в файле после свойства Connected, соответственно, если Connected = true, будет выдано сообщение 'Client library not found', поскольку имя библиотеки еще не известно.
3. Ладно, не указываем свойство Connected = true в свойствах базы. Присваиваем его в событии ReportOnStartReport:

procedure ReportOnStartReport(Sender: TfrxComponent);
begin
FIBDatabase.Connected := true;
end;

Вроде начинает работать, но после отображения всего отчета вновь вылетает сообщение 'Client library not found', хотя уже все нарисовано. Причем эта ситуация происходит при работе из приложения, а не в дизайнере.
4. Если в инспекторе объектов перейти на компонент, не содержащий событий (нпр. TfrxFIBDatabase), открыть вкладку Events, встать на название класса в инспекторе объектов и нажать стрелку вправо, получим "Cannot focus a disabled or invisible window".

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.