Re: Visual Plugins question.
От: VladD2 Российская Империя www.nemerle.org
Дата: 16.11.01 20:28
Оценка:
Здравствуйте Alex, Вы писали:

A>Добрый день.

A>В который раз возник вопрос.

A>Я хочу сделать приложение (CBuilder) в котором каждый модуль (отдельная dll) хранила бы свой набор форм. Я создаю dll в которой есть форма и экспортируемая функция, в которой происходит динамическое создание формы. Из главной я получаю адрес этой ф-ции запускаю — все нормально. НО, я делаю главное приложение MDIForm, а в dll MDIChild, в качестве параметра передаю Application — результат программа вываливается с ошибкой, что невозможно создать Child форму так нет активной MDIForm. Вопрос, как быть и что делать.


Билдер использует Дельфийских VCL, а та в свою очередь создает отдельную копию переменной Application для каждого модуля (dll, exe). Отсюда и проблемы. Так что копай туда. В отладчике это видно...

A>Может у кого есть готовые решения этой проблемы.

A>Подошло бы также решение, если бы форма была не MDI а просто на панели (TPanel) располагалась форма из dll.

Так создавай компоненты и брасай их на форму из центрального exe-шника.

A>Так же интересует как данное решение реализуется применительно к VisualC++.


Гы-гы. Так с объектной моделью туго. Для MFC одно, для API вообще говорить не о чем, для WTL другое. А грамотнее для таких целей и контейнер и формы описывать через COM-объекты. Это конечно сложнее чем на Билдере формы лабать, зато полный контроль и понимание.

В одном из номеров MSJ (теперь MSDN Mag) была статья о компонентном подходе для MFC (в VC 6).
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.