|
|
|
Назначение функции объекту
|
|||
|---|---|---|---|
|
#18+
Я создал объект TImage, теперь хочу на действие OnMouseMove назначить функцию (в delphi знаю как, а здесь пишу) ОБъект->OnMouseMove = Процедура, ничего не работает. Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2004, 18:22 |
|
||
|
Назначение функции объекту
|
|||
|---|---|---|---|
|
#18+
Твоя функция должна быть членом класса и в добавок надо проводить явно тип ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2004, 12:11 |
|
||
|
Назначение функции объекту
|
|||
|---|---|---|---|
|
#18+
Какая у тебя версия Билдера? У меня на ВСВ3 версии было что-то такое, там надо было делать какое-то страшное преобразование типов в момент присваивания, чтобы это работало, сейчас уже не помню какое, а на ВСВ5 все работает ОК (4-кой не пользовался, не знаю) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2004, 13:46 |
|
||
|
Назначение функции объекту
|
|||
|---|---|---|---|
|
#18+
У меня 6 версия. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2004, 18:55 |
|
||
|
Назначение функции объекту
|
|||
|---|---|---|---|
|
#18+
Как не работает ? Не компилируется или не вызывается ? Должно быть примерно так: void __fastcall TMyForm::MouseMoveEvent(System::TObject* Sender, Classes::TShiftState Shift, int X, int Y) { // делаем то, что нужно } void __fastcall TMyForm::FormShow(TObject *Sender) { // создаем image image->OnMouseMove = MouseMoveEvent; } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2004, 19:10 |
|
||
|
Назначение функции объекту
|
|||
|---|---|---|---|
|
#18+
Не компилируется вот такая ошибка, что на твой пример, что как у меня было (так же было) [C++ Error] main.cpp(122): E2316 '_fastcall TfrmMain::gPoleMouseMove(TObject *,TShiftState,int,int)' is not a member of 'TfrmMain' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2004, 20:14 |
|
||
|
Назначение функции объекту
|
|||
|---|---|---|---|
|
#18+
А в .h-файле у тебя этот gPoleMouseMove прописан ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2004, 21:20 |
|
||
|
Назначение функции объекту
|
|||
|---|---|---|---|
|
#18+
Нет, не описал, а как там его надо описывать, а то я пробую перейти с Delphi и вот такие вопросы возникают, там намного все проще. Я описал его вот так void __fastcall gPoleMouseMove(TObject *Sender, TShiftState Shift, int X, int Y);, но высвечивается ошибка [Linker Error] Unresolved external '__fastcall ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2004, 21:47 |
|
||
|
Назначение функции объекту
|
|||
|---|---|---|---|
|
#18+
Найди в файле frmMain.h (или как он у тебя называется) строку __fastcall ~TfrmMain(); и после нее добавь void __fastcall gPoleMouseMove(TObject *Sender, TShiftState Shift, int X, int Y); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2004, 22:09 |
|
||
|
Назначение функции объекту
|
|||
|---|---|---|---|
|
#18+
Я так уже пробовал. Высвечивалась ошибка написана внизу. Вставил вот так 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(); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2004, 22:26 |
|
||
|
Назначение функции объекту
|
|||
|---|---|---|---|
|
#18+
Сейчас у тебя линкер не видит реализацию метода TfrmMain::gPoleMouseMove. Он у тебя в том же cpp-файле, что и TfrmMain::TfrmMain ? авторДа я не нашел в h файле именной такой строки Это я ошибся, она не обязана присутствовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2004, 22:49 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=32512058&tid=2034984]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
68ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
69ms |
get tp. blocked users: |
1ms |
| others: | 214ms |
| total: | 396ms |

| 0 / 0 |
