Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Класс и метод или Как работать с указателем на процедуру [D6, D7, WinXP]


Страницы:   1 2

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]

Удалено модератором
Примечание: Не надо так делать, здесь не цирк.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо