![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Класс и метод или Как работать с указателем на процедуру [D6, D7, WinXP]
Comp © (2004-10-06 14:59:00)Здравствуйте, уважаемые мастера.
Разрешите задать вам небольшой вопрос
Я создал класс,и есть процедура, вне этого класса.
К примеру:
A=class;
procedure Crate;
procedure MyProc_In_Class;
end;
...
procedure MyProc;
begin
...
end;
Как сделать так, чтобы процедура MyProc стала методом класса?
На первый взгляд вопрос глупый.
Но все дело в том, что процедура MyProc является функцией CALLBACK. И не хочет она быть внутри класса. Нужно как-то указать на неё, пусть она будет и не внутри класса, но класс её должен считать своим методом.
Помогите пожалуйста.
Из конференции WinAPI...
Суслик (2004-10-06 15:18:00) [21]
> Comp © (06.10.04 14:59)
копай сюды
function MakeObjectInstance(Method: TWndMethod): Pointer;
procedure FreeObjectInstance(ObjectInstance: Pointer);
Comp (2004-10-06 15:18:00) [22]Digitman ©, ты меня за дурака считаешь?
Это не орешник, я вполне серьёзно задаю вопрос.
Процедура MyProc_In_Class и без того является методом класса.
А мне надо сделать чтоб тело процедуры MyProc тоже использовалось как метод класса. Только использовать напрямую, т.е.
A=class;
procedure Crate;
procedure MyProc_In_Class;
procedure MyProc;
end;
procedure А.MyProc;
begin
..
end;
НЕЛЬЗЯ. Так просто нельзя. Надо как-то указать на неё с помощью указателя.
Digitman (2004-10-06 15:05:00) [23]
> На первый взгляд вопрос глупый
и на все последующие - не менее
> Как сделать так, чтобы процедура MyProc стала методом класса?
в соответствии с приведенной в кач-ве примера декларацией класса реализовать ее так и никак не иначе :
procedure А.MyProc_In_Class;
begin
..
end;
(2004-10-06 15:03:00) [24]Удалено модератором
Примечание: Не надо так делать, здесь не цирк.