Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вызов 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


Наверх

Титульная страница Поиск, карта сайта Написать письмо