Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / не раборает в DLL указание типа ... as .... / 4 сообщений из 4, страница 1 из 1
28.04.2003, 16:08
    #32150276
mpro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не раборает в DLL указание типа ... as ....
например
(panel_tmp.Controls[j] as TDBComboBoxEh).

ктонибудь сталкивался?

Таже самая функция в теле проги работает без проблем
...
Рейтинг: 0 / 0
28.04.2003, 16:24
    #32150298
Alexandr Plus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не раборает в DLL указание типа ... as ....
А контекст какой? Может быть не в этом выражении "собака порылась".
Ругается-то хоть как?
...
Рейтинг: 0 / 0
28.04.2003, 16:31
    #32150308
mpro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не раборает в DLL указание типа ... as ....
ваще никак не ругается
просто не происходит то что должно происходить;-(

после переноса функции в тело все работает
...
Рейтинг: 0 / 0
28.04.2003, 23:41
    #32150522
WO
WO
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не раборает в DLL указание типа ... as ....
Runtime Packages СОДР.

Дело вот в чем: DLL - весЧь в себе. И в ней - своя копия VCL (на каждую DLL - своя). Это раз.

Оператор as (как и is) работают так:
получают укзатель на класс-предок экземпляра, сравнивают с правой частью того, что ты прописал в as, если они равны, то возвращается yes. Сравниваются, естественно, значения указателей на сам класс (т.е., два pointer). Это - два.
А теперь смотри, что получается у тебя:
У тебя классы предки по одним адресам, а указатель на класс, указанный в правой части as - в другой. Результат - всегда false.

При использовании Runtime Packages у тебя адреса классов будут едиными для всех DLL.

Это упрощенно, но дальше сам смотри (system.pas, sysutils.pas, дебагером пройдись при старте программы с подключеннными Runtime Packages - много интересного узнаешь :)) ), влом писать, направление я дал.
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / не раборает в DLL указание типа ... as .... / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]