В OnSize класса CView потребовалось обратиться к CMainFrame. Но эта функция вызывается еще и до того как CView и CMainFrame слинкуются и по этому уже при запуске выдает ошибку. Как определить можно ли в данный момент обратиться к объекту или еще нет?
Не хотелось бы вводить какие-то глобальные переменные для проверки. Может есть какая функция дающая зеленый свет?
Здравствуйте, FLY, Вы писали:
FLY>В OnSize класса CView потребовалось обратиться к CMainFrame. Но эта функция вызывается еще и до того как CView и CMainFrame слинкуются и по этому уже при запуске выдает ошибку. Как определить можно ли в данный момент обратиться к объекту или еще нет?
Если имеются ввиду проблемы с тем, что окна еще не созданы, то поможет проверка IsWindow(YourClass->GetSafeHwnd())
... << RSDN@Home 1.1.3 stable >>
Здравствуйте, FLY, Вы писали:
FLY>В OnSize класса CView потребовалось обратиться к CMainFrame. Но эта функция вызывается еще и до того как CView и CMainFrame слинкуются и по этому уже при запуске выдает ошибку. Как определить можно ли в данный момент обратиться к объекту или еще нет?
FLY>Не хотелось бы вводить какие-то глобальные переменные для проверки. Может есть какая функция дающая зеленый свет?
Где и как вы их линкуете?
void CMyView::OnSize(...)
{
CMainFrame * pFrame = STATIC_DOWNCAST(CMainFrame, GetParentFrame());
....
}