У меня вопрос к Вам по теме "Разработка приложений с использованием
DLL-файлов (модулей)"
На этом сайте я нашёл много чего интересного и полезного. Но всё-таки есть
подводные камни.
Мы знаем, что использование дочерних MDI-форм в DLL и вызов их в главном
ехе-приложении
даёт массу проблем из-за дублирования кодов классов в dll и ехе-файлов,
из-за своего менеджера
памяти.
И эту проблему пытаются частично урегулировать или грубо решить передачей
глобальных параметров таких как TScreen, TApplication.
Это же неполное решение проблемы.
У меня вот возникла новая проблема:
1) Не работают контролы в дочерних формах (TControl), то есть курсор
табуляции не перемещается по элементам (TEdit, TButton), расположенных на
дочерней форме, заложенной в DLL-модуле.
2) Не работают Hint'ы на элементах управления, например, на кнопках.
Выскакивает сообщение:
"Cannot assign TFont to TFont".
Я не согласен с тем автором ответа на вопрос 4777 — Михаилом, чтобы править
файл.
Его ответ такой:
-----------
27.02.2001 13:38:03
Я правил для этого graphics.pas
procedure TFont.Assign(Source: TPersistent);
begin
было
if Source is TFont then
стало
if (Source is TFont) or (Source.ClassName = 'TFont') then
----------
Я сначала поправил этот участок кода, заработал хинт на кнопках, зато
получил массу других проблем, которые не буду приводить. Поэтому не
рекомендую просто так от радости править код в файле graphics.pas, пока не
разберётесь в чём истинная проблема.
Программисты, я прошу помочь Вас поделиться со мной секретами или советами:
как заставить работать TControl's и THint's на MDIChild-формах в
DLL-модулях. Пожалуйста дайте ссылки или намёки и т.д.