Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

формы в dll

5.4K
23 января 2005 года
Loki&Co
10 / / 15.04.2004
Есть приложение, к нему подключаются dll, в которых хранятся формы. Проблема в следующем: глюки возникают в случае, когда идет обращение через указатель формы к её свойствам и методам. При вызове формы из dll возникает ошибка памяти: "Access violation at adress ..." В чем может быть проблема? Если в методах формы не обращаться через ее указатель, то все нормально. Приложение имеет главное окно, а форма в dll - MDIChild.
P.S. Первая dll писалась аналогичным образом, но подобных ошибок не возникало.
1
24 января 2005 года
kot_
7.3K / / 20.01.2000
Цитата:
Originally posted by Loki&Co
Есть приложение, к нему подключаются dll, в которых хранятся формы. Проблема в следующем: глюки возникают в случае, когда идет обращение через указатель формы к её свойствам и методам. При вызове формы из dll возникает ошибка памяти: "Access violation at adress ..." В чем может быть проблема? Если в методах формы не обращаться через ее указатель, то все нормально. Приложение имеет главное окно, а форма в dll - MDIChild.
P.S. Первая dll писалась аналогичным образом, но подобных ошибок не возникало.


Поставь точку останова в то место, где создается твоя форма и убедись, что она действительно создается. А вообще лучше подобные вопросы иллюстрировать кодом.

5.4K
24 января 2005 года
Loki&Co
10 / / 15.04.2004
Цитата:
Originally posted by Loki&Co
Есть приложение, к нему подключаются dll, в которых хранятся формы. Проблема в следующем: глюки возникают в случае, когда идет обращение через указатель формы к её свойствам и методам. При вызове формы из dll возникает ошибка памяти: "Access violation at adress ..." В чем может быть проблема? Если в методах формы не обращаться через ее указатель, то все нормально. Приложение имеет главное окно, а форма в dll - MDIChild.
P.S. Первая dll писалась аналогичным образом, но подобных ошибок не возникало.



Как оказалось проблема заключается в другом. Получается, что ошибка при обращении к форме в FormCreate возникает в том случае, когда форма еще не создана. То есть если перед обращением поставить, например,
ShowMessage("Ok");
то все срабатывает нормально. Тогда возникает вопрос: как узнать что форма создана и к ней уже можно обращаться?

1
24 января 2005 года
kot_
7.3K / / 20.01.2000
Цитата:
Originally posted by Loki&Co


Как оказалось проблема заключается в другом. Получается, что ошибка при обращении к форме в FormCreate возникает в том случае, когда форма еще не создана. То есть если перед обращением поставить, например,
ShowMessage("Ok");
то все срабатывает нормально. Тогда возникает вопрос: как узнать что форма создана и к ней уже можно обращаться?


Когда отработал конструктор - форма создана. Соответственно перед обращением к форме проверяй ее на равенство NULL.

259
24 января 2005 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by Loki&Co


Как оказалось проблема заключается в другом. Получается, что ошибка при обращении к форме в FormCreate возникает в том случае, когда форма еще не создана. То есть если перед обращением поставить, например,
ShowMessage("Ok");
то все срабатывает нормально. Тогда возникает вопрос: как узнать что форма создана и к ней уже можно обращаться?


Проверь указатель формы на NULL

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог