Форум: "Основная";
Текущий архив: 2007.03.18;
Скачать: [xml.tar.bz2];
Вниз
Можно ли получить TForm из Handle Найти похожие ветки
← →
Ламерюга (2007-01-24 20:07) [0]и как ето сделать, если форма принадлежит моему приложению, но используется через dll?
← →
Loginov Dmitry © (2007-01-24 20:27) [1]Самое простое - с использованием пакетов.
← →
Leonid Troyanovsky © (2007-01-24 21:55) [2]
> Loginov Dmitry © (24.01.07 20:27) [1]
> Самое простое - с использованием пакетов.
Еще проще - не использовать длл.
--
Regards, LVT.
← →
властелин колхоза (2007-01-24 22:08) [3]FindControl(Handle) as TForm
← →
Leonid Troyanovsky © (2007-01-24 22:18) [4]
> властелин колхоза (24.01.07 22:08) [3]
> FindControl(Handle) as TForm
Это врядли.
--
Regards, LVT.
← →
Бурундук © (2007-01-24 22:18) [5]2властелин колхоза (24.01.07 22:08) [3]
Ага.
И получишь EInvalidCast.
К чему бы это?...
← →
Джо © (2007-01-24 22:19) [6]> [5] Бурундук © (24.01.07 22:18)
> 2властелин колхоза (24.01.07 22:08) [3]
>
> Ага.
> И получишь EInvalidCast.
> К чему бы это?...
Дело совсем ни в каком не "EInvalidCast".
← →
Юрий Зотов © (2007-01-25 02:39) [7]> Ламерюга
Допустим, объект Вы нашли, и этот объект даже действительно форма, но...
...но формой этот объект будет для DLL, а не для EXE. Потому что один и тот же класс в DLL и в EXE - это разные классы, каждый со своей VMT.
В общем, то, что для DLL - форма, для EXE уже не форма. И наоборот.
← →
Сергей М. © (2007-01-25 10:01) [8]
> Ламерюга (24.01.07 20:07)
Чтобы не мучаться, собери оба проекта (exe и dll) с опцией использования ран-тайм пакетов, не забудь обязательно удалить из uses обоих проектов упоминания о ShareMem.
При этих условиях вызов вышеупомянутой FindControl() будет успешно работать в любом месте любого из твоих взаимодействующих проектов.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2007.03.18;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.062 c