Блог по программированию в среде Delphi

Поиск по блогу

Есть идея по созданию интересной программы?

Опиши тут и я по возможности постараюсь это реализовать специально для тебя! Без $ ))

вторник, 21 мая 2013 г.

Раскрытие выпадающего списка в cxLookupComboBox



procedure <FORM_NAME>.cxLookupComboBox1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  cxLookupComboBox1.DroppedDown:=True;
end;

Можно и в другие события вставить.

Exception class EInvalidOperation with message 'Cannot make a visible window modal'.



В свойствах формы сделайте Visible равным False.

понедельник, 20 мая 2013 г.

MasterData фиксированное количество строк

Имеем
MasterData1

Добавляем еще один MasterData (MasterData2), в диспетчере свойств, устанавливаем свойство Visible в False, на случай если строк в MasterData1 и так будет достаточно.

Получаем
MasterData1
MasterData2
В MasterData2 делаем пустую строку нашего MasterData.
В обработчике  события OnBeforePrint MasterData2 вставляем код:

procedure MasterData2OnBeforePrint(Sender: TfrxComponent);
var
  EmptyCount: integer;    
begin
  EmptyCount := 10-MasterData1.RowCount; //имеется в виду, что будет 10 строк постоянно
  if EmptyCount > 0 then
  begin
    MasterData2.Visible:=True;                                            
    MasterData2.RowCount := EmptyCount;
  end;
end;

Header в FastReport 4 не отображается перед MasterData

Имеем:

Header1
MasterData1


Как вариант положите перед этим Header1 еще один MasterData2 в котором будут данные всегда и сделайте его невидимым. Header1 теперь будет виден у вас в независимости от того есть ли данные в MasterData1.

Результат:

Header1
MasterData2
MasterData1

Error Class TfrxCheckboxView not found



Бросьте в проект компонент frxCheckBoxObject или подключите файл frxChBox.pas к проекту в ручную.

четверг, 16 мая 2013 г.

IBExpert приятные моменты))

Неприятное сообщение в  IBExpert:
This operation is not defined for system tables. unsuccessful metadata update. cannot delete

Данное сообщение возникло в процессе попытки удаления поля, и было весьма неприятно и не понятно с чем оно связано. Из внешних ключей удалил, но поле активно сопротивлялось моим действиям. Оказалось, что IBExpert проверяет использование полей не только в связях с другими таблицами, но так же идет проверка в триггерах и процедурах.
Закомментировал процедуру, где использовалось удаляемое поле и все прекрасно удалилось.

Спасибо разработчикам IBExpert за их прекрасный инструмент!