![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вызов MDICild-формы из Dll [D7, Win2k, WinXP]
Alex_Ne © (2007-10-18 11:06:00)Доброго времени суток, господа форум.
В Dll реализована MDI форма. Для вызова используются
функции что-то вроде
//инициализация
procedure OpenSched(App, Scr : integer; Connection : TADOConnection);StdCall;
begin
SaveScreen := Screen;
Screen := TScreen(Scr);
SaveApp := Application;
Application := TApplication(App);
..........................................
..........................................
end;
//Построение формы
function CallRoot: integer;StdCall;
begin
Result := Integer(TfmRoot.Create( Application );
end;
//Финализация
procedure CloseSched;StdCall;
begin
.............................................
.............................................
Application := SaveApp;
Screen := SaveScreen;
end;
Все более-менее работает, до тех пор, пока в
дочерней MDI-форме в каком-либо наследнике
TControl не возникает событие прописовки Hint-а
(при ShowHint = True).
После чего вылетает невразумительное предупреждение
отладчика типа "Can not assigned a TFont to a TFont",
а затем неубиваемое "Access violation..."
Такое ощущение что Application не знает адрес формы, куда
отправлять CM_HINTSHOW...
Что с этим делать? Без хинтов интерфейс никак не годится - требование его мать заказчика. Помогите плиз.
TStas (2007-10-29 16:40:00) [1]В длли отдельной и в экзешнике находятся РАЗНЫЕ библиотеки классов. Из-за этого TFont из длл и TFont из экзешника - два РАЗНЫХ класса. Отсюда и сообщениею.
(2007-10-29 12:57:00) [2]Удалено модератором
Alex_Ne (2007-10-18 11:29:00) [3]Фантастика! Заработало.
clickmaker - рассыпаюсь в благодарностях - вчера целый день убил на эту проблему, а проделать такую естественную весчь не сообразил...
Хинты отображаются теперь как нужно. Огромное спасибо.
clickmaker (2007-10-18 11:19:00) [4]
> Can not assigned a TFont to a TFont",
и DLL и EXE нужно собрать с галкой build with runtime packages