Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Назначение функции объекту / 12 сообщений из 12, страница 1 из 1
09.05.2004, 18:22
    #32511761
ZRoman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Назначение функции объекту
Я создал объект TImage, теперь хочу на действие OnMouseMove назначить функцию (в delphi знаю как, а здесь пишу) ОБъект->OnMouseMove = Процедура, ничего не работает.
Спасибо!
...
Рейтинг: 0 / 0
10.05.2004, 12:11
    #32512004
Lelikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Назначение функции объекту
Твоя функция должна быть членом класса и в добавок надо проводить явно тип
...
Рейтинг: 0 / 0
10.05.2004, 13:46
    #32512058
LAlex
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Назначение функции объекту
Какая у тебя версия Билдера? У меня на ВСВ3 версии было что-то такое, там надо было делать какое-то страшное преобразование типов в момент присваивания, чтобы это работало, сейчас уже не помню какое, а на ВСВ5 все работает ОК (4-кой не пользовался, не знаю)
...
Рейтинг: 0 / 0
10.05.2004, 18:55
    #32512255
ZRoman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Назначение функции объекту
У меня 6 версия.
...
Рейтинг: 0 / 0
10.05.2004, 19:10
    #32512267
vitaly_p
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Назначение функции объекту
Как не работает ? Не компилируется или не вызывается ?

Должно быть примерно так:

void __fastcall TMyForm::MouseMoveEvent(System::TObject* Sender, Classes::TShiftState Shift, int X, int Y) {
// делаем то, что нужно
}

void __fastcall TMyForm::FormShow(TObject *Sender) {
// создаем image
image->OnMouseMove = MouseMoveEvent;
}
...
Рейтинг: 0 / 0
10.05.2004, 20:14
    #32512280
ZRoman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Назначение функции объекту
Не компилируется вот такая ошибка, что на твой пример, что как у меня было (так же было) [C++ Error] main.cpp(122): E2316 '_fastcall TfrmMain::gPoleMouseMove(TObject *,TShiftState,int,int)' is not a member of 'TfrmMain'
...
Рейтинг: 0 / 0
10.05.2004, 21:20
    #32512299
vitaly_p
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Назначение функции объекту
А в .h-файле у тебя этот gPoleMouseMove прописан ?
...
Рейтинг: 0 / 0
10.05.2004, 21:47
    #32512307
ZRoman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Назначение функции объекту
Нет, не описал, а как там его надо описывать, а то я пробую перейти с Delphi и вот такие вопросы возникают, там намного все проще. Я описал его вот так
void __fastcall gPoleMouseMove(TObject *Sender, TShiftState Shift, int X, int Y);, но высвечивается ошибка [Linker Error] Unresolved external '__fastcall
...
Рейтинг: 0 / 0
10.05.2004, 22:09
    #32512320
vitaly_p
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Назначение функции объекту
Найди в файле frmMain.h (или как он у тебя называется) строку
__fastcall ~TfrmMain();
и после нее добавь
void __fastcall gPoleMouseMove(TObject *Sender, TShiftState Shift, int X, int Y);
...
Рейтинг: 0 / 0
10.05.2004, 22:26
    #32512327
ZRoman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Назначение функции объекту
Я так уже пробовал. Высвечивалась ошибка написана внизу. Вставил вот так public: // User declarations
__fastcall TfrmMain(TComponent* Owner);
void __fastcall gPoleMouseMove(TObject *Sender, TShiftState Shift, int X, int Y);
высвечивается ошибка [Linker Error] Unresolved external '__fastcall TfrmMain::gPoleMouseMove(System::TObject *, System::Set<Classes::Classes__1, 0, 6>, int, int)' . Да я не нашел в h файле именной такой строки __fastcall ~TfrmMain();
...
Рейтинг: 0 / 0
10.05.2004, 22:49
    #32512337
vitaly_p
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Назначение функции объекту
Сейчас у тебя линкер не видит реализацию метода TfrmMain::gPoleMouseMove. Он у тебя в том же cpp-файле, что и TfrmMain::TfrmMain ?
авторДа я не нашел в h файле именной такой строки
Это я ошибся, она не обязана присутствовать.
...
Рейтинг: 0 / 0
10.05.2004, 23:10
    #32512347
ZRoman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Назначение функции объекту
Все заработало, огромное спасибо. Они были в одном фале, но я написал без TfrmMain:: просто gPoleMouseMove(и.т.д.).
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Назначение функции объекту / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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