Re: Загрузка Win формы из dll в другом AppDomain
От: Hacker_Delphi Россия  
Дата: 15.02.08 11:33
Оценка: 2 (1)
Здравствуйте, boa67, Вы писали:

B>Подскажите пожалуйста, может я че не так делаю, или какие нибудь настройки нужно изменить... !!!


Насколько я понимаю, чтобы все крутилось в соседнем AppDomain'е нужно в нем создать очередь сообщений...
я не 100 процентно в этом уверен, но на 99 — да.
то есть, в соседнем домене надо создавать что-то типа Program. или же его статический метод звать.
наилучший вариант — нарисовать что-то типа такого класса:
public class FormStarter: MarshalByRefObject
{
    public void StartForm(string Assembly, string Type)
    {
        Form frm = (Form)Activator.CreateInstance(Assembly, Type);
        // Далее - одно из двух:
        Application.Run(frm);
        // или 
        frm.ShowDialog();
    }
}


по поводу создания инстанса в хелп не смотрел, студию тоже не запускал — мог ошибиться. но в целом все должно быть верно и принцип понятен.
соответственно создавать в главном приложении надо как раз FormStarter и его методы уже дургать...
Да, еще хорошо бы у FormStarter'а перекрыть InitializeLifetimeServices (или как-оно-там)...
... << RSDN@Home 1.2.0 alpha rev. 789>>
Если при компиляции и исполнении вашей программы не происходит ни одной ошибки — это ошибка компилятора :)))
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.