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

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

Проблема меню и MDI-дочерние формы


Sergei ©   (2003-01-17 16:44:00) 

Здравствуйте, господа программисты!

Передо мной стояла задача сделать модульную структуру программы, которая состоит из 2-ух частей:
1-ая ехе-файл, 2-ая - dll-файл.
В первой части - программа, которая имеет родительскую форму fsMDIForm и своё меню.
А вторая часть - все, зашитые в dll, второстепенные программы, которые имеют дочерние формы fdMDIChild и своё меню. Меню дочерних форм (из dll) могут слияться с меню главной формы (в ехе).

Я программу сделал, она отлично работает.
Только есть одна неприятность-ошибка.
После первого (именно первого) создания формы меню главной и дочерней формы начинает глючить, вместо
выполнения команд меню создаёт новую форму. Как только закроем дочерную форму (Action := caFree;)
и создадим снова форму (во 2-ой раз и более раз), то меню начинает нормально работать. В чём именно
заключается эта неприятность и как избежать её?

В dll-файле находится процедура создания этой дочерней формы. В ней есть код
Application:=App (полученный из родительской формы) вместо Application.Hanlde:=AHandle.
Правда при загрузке dll сохраняется
DllAplicaion:=Application и при выгрузке восстанавливается Application:=DllApplication.
Всё соблюдено как надо.

Только никак не могу решить проблему с меню.
Можете что-нибудь посоветовать?

Заранее благодарю за ответ.


Игорь Шевченко   (2003-01-17 16:51:00) [1]

А пакеты не проще использовать ? (run-time packages)


Наверх

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