![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ошибка при изменении с TForm.Paren [D5, Win2k]
MaxDAG © (2006-05-31 15:55:00)Создаю форму, описанную в соседнем юните, изменяю свойство Parent на Panel1 - все работает. Но если эту форму создать из DLL и вернуть в приложение, то форма просто исчезает( после изменения Parent), хотя появляется после создания. Кто-нибудь встречался с таким глюком.
PS: Переделал создание из DLL на WinAPI после чего менял Parent через SetParent - все работает, ничего не исчезает.
В чем тогда дело ?
MaxDAG (2006-05-31 16:59:00) [1]Ну вот отругали ... отшлепали. Был вопрос, есть ответ ... пойду пробовать. » Юрий Зотов: » И, пожалуйста, задавая вопрос, читайте тематику конференций.
Юрий Зотов (2006-05-31 16:58:00) [2]> MaxDAG © (31.05.06 15:55)
> В чем тогда дело ?
В том, что формы VCL никогда и не затачивались под использование в DLL. "Уж сколько раз твердили миру..."
[1] может помочь, может и не помочь, а может и помочь, но с глюками. То же самое касается и подмены всего Application, а не только его хэндла.
Что за странные желания - вазой гвозди забивать? Можно, конечно, но она все же не для этого, разбиться может. Для этого есть молоток.
Если действительно есть насущная необходимость вынести формы за пределы приложения, то выносите их не в DLL, а в BPL, тогда все будет ОК.
MaxDAG (2006-05-31 16:49:00) [3]Только что попробовал, ничего не изменилось. Форма попрежнему пропадает :(((((
StriderMan (2006-05-31 16:23:00) [4]может быть поможет это:
из DLL экспортировать функцию
procedure SetApplicationHandle(const AHandle: HWND);
begin
Application.Handle := AHandle;
end;
и соответственно передавать в нее хэндл хост-приложения