Как подцепить из CheckBox FR3 формы приложения
visor123
Днепропетровск
Из ComboBox сорри, или вообще вызвать по событию форму в общем случае.
Можно ли вызвать из FR3 формы справочников из ComboBox формы FR3 ???
Думаю, что можно, но нет времени сильно глубоко вникать в вызовы FR3.
Может нужно обертку написать для базового класса формы справочника и через нее вызывать?
Если можно покажите пож-ста пример обертки либо вызова... .
Могу поделиться обертками к компонентам ZeosDBO 6.x под FR2 и FR3
Можно ли вызвать из FR3 формы справочников из ComboBox формы FR3 ???
Думаю, что можно, но нет времени сильно глубоко вникать в вызовы FR3.
Может нужно обертку написать для базового класса формы справочника и через нее вызывать?
Если можно покажите пож-ста пример обертки либо вызова... .
Могу поделиться обертками к компонентам ZeosDBO 6.x под FR2 и FR3
Комментарии
Беглый поиск по документации не дал результатов (возможно я и ошибаюсь). Когда сделал отчет с двумя формами, так и не понял как показать второе диалоговое окно. Метод Show у него не определн, а вот обработчик OnShow можно поставить. Вот так.
Скажем есть у нас в FR3 две формы:
DialogForm1 и DialogForm2.
В дизайнере FR3 в OI делаем DialogForm2.Visible := False;
На DialogForm1 кидаем кнопку и на OnClick кнопки вешаем скрип
DialogForm2.ShowModal.
Вобщем задача решается необычайно легко и красиво.
Я просто зарегистрировал функцию а потом ее обработал.пример
frxRep.AddFunction('function MyGet_GoodsDir:integer','Справочники программы','Функция вызывает справочник товаров и возвращает выбранный ключ.');
Обработка (вызов формы базовый)
if MethodName='MYGET_GOODSDIR' then begin
XObject:=TComponent.Create(Self);
M_CreateBaseForm(TfrmGoods,frmGoods,XObject);
Result:=XObject.tag;
XObject.Free;
end;
НО НЕУДОБСТВО в том, что в ComboBox во FR3 нет нормальных событий для отработки данной задачи. Например OnClick вызывается на клике в выпадающем списке.
<span style='font-size:14pt;line-height:100%'>Уважаемые разработчики выложите в published-раздел компонента событие OnButtonClick, которое вызывается при нажатии на кнопку ComboBox-е</span>
Могу его и сам вытащить в коде FR3, но при замене версии нужно будет опять это делать. А если добавить свой компонент - тоже решение. Но я считаю, что нажатие на батон комбобокса понадобится и другим разработчикам, пользующимся FR.
(Лицензия есть)
А для большего удобства юзера, на кнопку помести такую же картинку как и у ComboBox, а на Edit повесь обработку горячей клавиши.
По поводу древовидной структуры справочника, это тоже не проблемма.
Чем ты пользуешься в своей программе, для вывода дерева ?
Я например использую DbGridEh. И когда мне понадобилось показывать в диалоге FR3 древовидуню структуру, я просто сделал себе frxDbGridEh и все прекрасно работает.
Насчет обертки вокруг DBGridEh - не новость, только велосипед изобретать нет времени. Проще выбрать уже сделанный справочник, с фильтрацией и прочим.
Насколько я понял, прийдется сделать обертку вокруг DBComboBoxEh, и там соответственно обрабатывать нажатие кнопки.
Вобщем подход стандартный - помоги себе сам в принципе так и приходится делать.
Господа разработчики FR3, если вопрос не будет решен - напишите пож-ста в форуме. Вопрос в frxComboBox выложить в published событие OnButtonClik, которое вызывается при нажатии на кнопку в ComboBox.
Кстати, господин Stalker4, предлагаю меняться компонентами. Например обертка под FR3 для DBGridEh мне не нужна, но нужна оберка вокруг DbComboboxEh. Взамен могу дать компоненты перехвата событий и их обработки, удобно для удаленной работы, или например обертку под FR3 под ZeosDBO, или например компонент отрисовки прогрессбара в статусбаре... Вобщем на что меняться - у меня их есть. Перечисленные компоненты я разработал сам, посему авторских проблем с собой не имею
Если не нравиться, то сделай себе компонент типа Rx-овского TComboEdit.
Насчет DBGridEh - это тоже вполне выход для разных ситуаций, тем более что он мгогое умеет.
По поводу "Вобщем подход стандартный - помоги себе сам" - а ты как хотел, что бы за тебя все сделал кто то ?
А самому сделать компонент для FR3, не очень то и сложно. Скажем у меня в диалогах используются обертки над моими ComboBox, Edit, DateEdit, Memo, универсальным справочником (ComboDialog), etc. - так что как понимаешь с расширяемостью проблем нет, благо в FR3 и FS это все сделать не сложно.
По поводу DbComboboxEh - я его вообще не использую, так что обертки над ним у меня нет.
Из оберток для EhLib и FR3 у иеня только TfrxDbGridEh и TfrxMemTableEh.
А полностью портировать гриды и прочее я считаю совсем не нужно, т.к. формы справочников уже имеют достаточный функционал для работы со справочниками и в зависимости от типа вызова ведут себя именно так как нужно.
Все просто, главное не парить себе мозг