![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Alexeyt |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 15.9.2006 Где: около Москвы Репутация: нет Всего: 2 |
есть форма, в которой создается фрейм. В фрейме вся "работа". Форма - дочерняя по отн. к главной форме (WS_CHILD or WS_MAXIMIZE в CreateParams ставится).
Delphi7: вариант создания формы в .exe: все ОК вариант создания формы в .dll (там нет главной формы- вместо нее наша форма стала дочерней по отн. к Totalcmd Lister): все ОК XE2: вариант создания формы в .exe: ОК вариант создания формы в .dll: не работает. Ошибка создания фрейма. Exception "Control EdFrame has not parent window" при создании класса фрейма в перекрытом конструкторе Create:
при вызове inherited Create(AOwner)- exception и фрейм то ли не создался, то ли просто не виден (Show не помогает). Если спрятать этот exception- лучше не становится. В чем м.б. дело? |
|||
|
||||
| dvamaster |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 559 Регистрация: 30.6.2004 Где: Россия : Курган Репутация: 3 Всего: 10 |
Тут все так и написано, свойство Parent не содержит родителя, т.е. той формы на которую кидается фрейм, XE2 его не устанавливает. Придется его присвоить самостоятель. Если парент и есть AOwner, то
И ЕЩЕ установи сразу фрейму ParentFont в FALSE, иначе и тут полезут ошибки, проверено. Это сообщение отредактировал(а) dvamaster - 6.2.2012, 13:56 -------------------- Хорошую информацию трудно добыть. Сделать с ней что-нибудь - еще труднее. /L. Skywalker/ Что же я сделал не так? /Король Лир/ Я делаю это для твоего же блага! /Любой родитель и палач/ PKUNZIP.ZIP /неизвестный/ |
|||
|
||||
| Alexeyt |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 15.9.2006 Где: около Москвы Репутация: нет Всего: 2 |
хм. при вызове Parent:= AOwner as TWinControl получается "AV. read of addr 00000000".
Ты уверен что ДО вызова конструктора можно делать доступ к полям-методам? я нет. Объект еще не создан (Пробовал еще CreateParented((AOwner as TWincontrol).Handle)) |
|||
|
||||
| Alexeyt |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 15.9.2006 Где: около Москвы Репутация: нет Всего: 2 |
Parent у меня ставится и так(ПОСЛЕ конструктора ес-но). Т.е. во время вызова конструктора Parent
не должен быть задан. А ошибка "no parent window". Может update XE2 ставить? |
|||
|
||||
| bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 31 Всего: 88 |
Сколько уже раз говорилось, что никогда нельзя передавать объекты через границы модулей, и использовать для этого нужно или интерфейсы, или bpl. Предупреждая вопрос почему в старой версии всё работало, отвечаю: это рандом. Классы не обязаны совпадать, но ты можешь не "зацепить" отличия между ними. Тогда до поры до времени всё будет работать. Это сообщение отредактировал(а) bems - 7.2.2012, 11:19 -------------------- Обижено школьников: 8 |
|||
|
||||
| Alexeyt |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 15.9.2006 Где: около Москвы Репутация: нет Всего: 2 |
из твоего объяснения понял только - нельзя передавать объекты в DLL. Но я и не передаю, все внутри одного модуля dll. Т.ч. твой текст не понял
решил. сделал вместо TEdFrame=class(TFrame) -- TEdFrame=class(TForm). Добавлено через 2 минуты и 54 секунды
Тогда ошибка от as доблжна быть(Invalid type cast) |
|||
|
||||
| bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 31 Всего: 88 |
вообще да, недочитал.
а как ты тогда взаимодействуешь с приложением? -------------------- Обижено школьников: 8 |
|||
|
||||
| Alexeyt |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 15.9.2006 Где: около Москвы Репутация: нет Всего: 2 |
взаимодействую просто. У меня Totalcmd Lister plugin. Я создаю форму и передаю через API хендл
|
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |