![]() |
|
![]() ![]() ![]() |
|
Edik |
|
||||||
Бывалый ![]() Профиль Группа: Awaiting Authorisation Сообщений: 207 Регистрация: 13.9.2006 Репутация: -1 Всего: 1 |
Предположим у меня есть глобальная функция void MyFunc(void); и есть функция класса void CMyClass::OnError(); так вот как мне из этой MyFunc(); вызвать CMyClass::Error(). Пробывал так:
Ничего не выходит. Пробывал и так:
Тоже ничего не выходит. Пробывал и так:
Подскажите выход. |
||||||
|
|||||||
Andrey44 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1501 Регистрация: 4.12.2006 Где: На работе Репутация: 12 Всего: 26 |
В функцию передавай this параметром например MyFunck(void *param)
А в функции делай СMyClass *myclass = (СMyClass*) param; -------------------- ????? ??, ??????? ?????. ![]() |
|||
|
||||
Fazil6 |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1653 Регистрация: 3.5.2006 Где: Минск Репутация: 3 Всего: 60 |
||||
|
||||
archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: нет Всего: 93 |
Либо такой ф-ции в CMyClass не существует(м.б. OnError, а не Error?), либо она private/protected. -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
Edik |
|
|||
Бывалый ![]() Профиль Группа: Awaiting Authorisation Сообщений: 207 Регистрация: 13.9.2006 Репутация: -1 Всего: 1 |
не, функция есть- но не вызываеться. а через this не получиться, так как это не функция вызываеться из диалога, что бы this класса диалога передать в функцию и через этот this запустить диалог. она у меня вобще то в dll размещеная эта фунция. к тому не просто в мфс приложениях у меня это тоже не получилось. мне это чисто интересно как сделать. такое у меня часто в программах встречаеться. что бы из глобальной функции моей MyFunc() вызвать CMyClass::OnError(). Да функция есть, но ... не вызываеться. Ошибка исполнения на методе Dlg.DoModal(). как же в нее передаш указатель this класса диалога?
|
|||
|
||||
Andrey44 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1501 Регистрация: 4.12.2006 Где: На работе Репутация: 12 Всего: 26 |
Подожди, а как ты из Dlg.DoModal() вызываешь функции класса?
-------------------- ????? ??, ??????? ?????. ![]() |
|||
|
||||
zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 16 Всего: 92 |
пример:
Это сообщение отредактировал(а) zkv - 4.11.2007, 06:45 |
|||
|
||||
Edik |
|
|||
Бывалый ![]() Профиль Группа: Awaiting Authorisation Сообщений: 207 Регистрация: 13.9.2006 Репутация: -1 Всего: 1 |
Так вот, продолжим. Мой код.
Короче мне вот так вот типа надо такого плана доступ получить к m_edit, ну и естественно через класс GlobalFuncDlg. Дальше так же можна и доступ к функциям класса получить, если пример получиться. Так вот- ошибка: Linking... GlobalFuncDlg.obj : error LNK2005: "class CGlobalFuncDlg MyClass" (?MyClass@@3VCGlobalFuncDlg@@A) already defined in GlobalFunc.obj Это сообщение отредактировал(а) zkv - 4.11.2007, 06:46 |
|||
|
||||
Fazil6 |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1653 Регистрация: 3.5.2006 Где: Минск Репутация: 3 Всего: 60 |
||||
|
||||
Edik |
|
||||
Бывалый ![]() Профиль Группа: Awaiting Authorisation Сообщений: 207 Регистрация: 13.9.2006 Репутация: -1 Всего: 1 |
После моих недолгих проб и ошибок, я в конце концов нашел решение моей проблемы. Реально, рабочий код.
А вот zkv даже подсказал более утонченное, но не столь для меня актульное решение:
Это сообщение отредактировал(а) zkv - 4.11.2007, 06:48 |
||||
|
|||||
zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 16 Всего: 92 |
Удалил оффтоп/эмоции. Тема закрыта.
|
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |