Здравствуйте, AlekseyVP, Вы писали:
AVP> Избежать этого как-нибудь можно? Дело в том, что формы могут быть COM обьектами, решение пока не принято, думаю это дело вкуса начальника ...
Ну и что, что COM-объектами, в чем проблема-то? Или не COM, а OLE, т.е. со встраиванием в другие приложения? Так вы определитесь — или уж окна MDI-Child, или могут встраиваться. Если последнее нужно, делайте сразу встраивание, а в вашем дельфевом приложении заводите MDI-Child'ы и встраивайте экземпляры вашей ActiveX-формы в них.
Slicer
Специалист — это варвар, невежество которого не всесторонне :)
Здравствуйте, AlekseyVP, Вы писали:
AVP>Задача: необходимо что бы формы приложения находились в DLL, создавались тоже в DLL. Далее, необходимо, что бы: выводился Hint (подсказка), работал Tab (переход по контролам), работали ShortCut (горячие клавиши). С первым и вторым я справился, а вот как быть с горячими клавишами? У кого есть идеи?
Просто передать в Dll из главного приложения объект Application — не проходит? А в dll написать Application := _тот_который_передали_.
Можно скомпилировать не dll, а bpl. Тогда, правда, не так просто будет приделать объекты в качестве Com-серверов, чтобы их могли грузить другие приложениям. Но все равно можно, наверное: вводим дополнительную dll, которая эту bpl использует как рантайм-пакет, а сервера создает из объектов, объявленных в этой bpl (ведь в dll их объявления тоже видимы)
Slicer
Специалист — это варвар, невежество которого не всесторонне :)
Re[7]: MDI Child форма из DLL и что б работало всё!
D>>Я, кстати, пе понял понятия "клонировать объекты Application и Screen EXE". Не DLL.Application.Handle := EXE.Application.Handle ли? D>>Слабо верится что это поможет решить проблемы, которые могут возникнуть. Скорее породит новые, которые придется решать и не всегда корректно.
__>Идею брал здесь: __>Топик плюс пример
Да этот пример пол ИНета знает, только глюковат пример, не все объекты переназначаются К тому же не работает клавиша TAB
__>Делал подобное, всё работает уже 5 лет (заказчик не жаловался ).
Ну так ты диалоги делал или MDI Child ? Мля, проблема как раз в MDI Child формах. И, как я уже писал выше, только в обработке ShortCut'ов. Если есть идеи — welcome
Re[2]: MDI Child форма из DLL и что б работало всё!
AVP>>Задача: необходимо что бы формы приложения находились в DLL, создавались тоже в DLL. Далее, необходимо, что бы: выводился Hint (подсказка), работал Tab (переход по контролам), работали ShortCut (горячие клавиши). С первым и вторым я справился, а вот как быть с горячими клавишами? У кого есть идеи? SM>Просто передать в Dll из главного приложения объект Application — не проходит? А в dll написать Application := _тот_который_передали_.
Нет, это не работает К тому же, если не использовать RunTime пакеты, то пришлось делать обработку клавиши TAB самому. Решение пришлю, если кого интересует. SM>Можно скомпилировать не dll, а bpl. Тогда, правда, не так просто будет приделать объекты в качестве Com-серверов, чтобы их могли грузить другие приложениям. Но все равно можно, наверное: вводим дополнительную dll, которая эту bpl использует как рантайм-пакет, а сервера создает из объектов, объявленных в этой bpl (ведь в dll их объявления тоже видимы)
Спасиба за совет, в любом случае ещё есть над чем поработать.