06.09.2006, 12:09 | #1 |
Участник
|
Всем доброго дня!
Такой вопрос интересует Пробавал ли кто-нибудь импортировать в Navision (у нас 3.10) элементы формы, отличные от стандартного набора? Может кто подскажет как вобще такое можно сделать? |
|
06.09.2006, 17:12 | #2 |
Участник
|
Думаю подключить сторонние элементы управления в конструкторах навижена не получится. Не пробовал. Знал бы, если бы кто-то пробовал.
|
|
06.09.2006, 17:33 | #3 |
Участник
|
У нас есть такое решение, но оно коммерческое, работает замечательно, если кому интересно - обращайтесь.
Для тех кто в теме добавлю, что события наших контролов обрабатываются в самом тавижне, т.е. есть возможность писать нав-код на события этих компонентов. |
|
06.09.2006, 18:37 | #4 |
Участник
|
А какие именно компоненты есть возможность прикрутить и через что они цепляются. Очень интересно, расскажите, плз, если не трудно
|
|
06.09.2006, 18:41 | #5 |
Участник
|
Элементы есть любые практически (например полноценные treeview, combobox, HTML-редактор), а цепляются, как ActiveX-компоненты.
Единственное требование - .net framework на клиенте. |
|
07.09.2006, 11:26 | #6 |
Участник
|
|
|
07.09.2006, 11:52 | #7 |
Участник
|
В общем виде работает так:
На клиенте регестрируется библиотека. После этого в наве на форме создается переменная типа Automation определенного класса. На запуск формы переменная инициализируется, задаются размеры контрола, его положение на форме и .т.д. Все свойства динамические, т.е. могут быть изменены в коде нава в любом месте на форме. Также в коде нава становятся доступными триггеры элемента управления, в которых можно описать реакцию на его события. В режиме дизайнера объектов, к сожалению, увидеть сам объект на форме нельзя. Полноценное коммерческое предложение сейчас готовится, в скором времени будет размещено. |
|
07.09.2006, 12:30 | #8 |
Участник
|
А можете пару скринов кинуть, чтобы посмотреть как это выглядит?
|
|
07.09.2006, 13:03 | #9 |
Участник
|
Цитата:
А совмещать навиженские контролы и свои на одной форме получается? Сохраняется ли при этом порядок обхода контролов (таб-ордер)? Как ведет себя такая форма в режиме субформы? |
|
07.09.2006, 13:26 | #10 |
Участник
|
Скрины выложу немного позднее, сейчас под руками нет этой базы, может демку накидаю.
Совмещать контролы получается нормально, но порядок обхода пока не работает (может появится в сл. версиях), на субформах также стабильно работает |
|
08.09.2006, 15:27 | #11 |
Участник
|
Сделал небольшую демо-версию, пишите на личку
|
|
08.09.2006, 16:19 | #12 |
Участник
|
По многочисленным просьбам Дуда
|
|
08.09.2006, 16:32 | #13 |
Заноза в заднице
|
Не побоюсь следующей характеристики для описания цитируемого поста: лажа полная! События контролов обрабатываются в Navi, но не все и не всегда. Некоторые из тех, что обрабатываются - вызывают сложные ошибки Windows при определенных интересных действиях, например, если провести по такому контролу мышкой слишком быстро, или кликнуть вместо double-click три раза подряд. Так что не верьте, кому это интересно, а Вам говорят, что всё замечательно работает. Я не предлагаю ничего со своей стороны, ибо на эту задачу нашей группой разработчиков, в которую входили и разработчики C#.NET, и С++, и VB - разработчики. Потрачено было приличное количество времени, а результатом стал вывод, что дополнительные визуальные компоненты лучше делать во вновь открывающихся формах. А по поводу того, что события обрабатываются,- (хе-хе), это Вы Пушкину расскажите: в некоторых случаях, встраиваемые компоненты не реагируют даже, когда контрол со встроенной компонентой вписываешь в свойство формы ActiveControlOnOpen и при этом в OnOpenForm прописываешь: CurrForm.Control.ACTIVATE. Активация в большинстве случаев обязана производиться щелчком мыши по компоненте. А вообще - из практики скажу, что наиболее приемлемо работают компоненты на VB, наименее - на C#. Самые непредсказуемые и спонтанные ошибки вызывают компоненты, созданные из Dephi. Если кому ещё интересно - отображение сторонних контролов в формах Navision производится с помощью Navi-компонента - Subform, в котором при активации инициализируется визуальный компонент "зашитый" в COM-объект. Примеры кода тоже могу выложить, отмечу лишь, что видимость COM-объекта должна регулироваться отдельным методом, который вызывается как раз при инициализации содержащей объект сабформы. Ну а дальше - всё определяется только Вашими возможностями в области построения COM-компонент в различных средах.
__________________
Лень мудрого человека - это необходимое средство нейтрализации кипучей активности руководящих им дураков! |
|
08.09.2006, 16:49 | #14 |
Участник
|
Прикольное меню. Жаль сдыхает сразу же после наведения мышой
|
|
08.09.2006, 17:18 | #15 |
Участник
|
нда, ребяты...
в принципе вчера ещё было понятно что чуда не произошло. надеюсь, энтузиазм не пропадет и наконец появится нормальное предложение. тем более что точно знаю что это может работать, но пока действительно Цитата:
на эту задачу нашей группой разработчиков потрачено было приличное количество времени
Подождём... не надо отчаиваться. |
|