Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.14;
Скачать: CL | DM;

Вниз

Как грамотно применить операцию @ применительно к процедуре?   Найти похожие ветки 

 
kofman ©   (2002-11-02 13:50) [0]

Подскажите пожалуйста, у меня два вопроса:
1.) При обращении к процедуре: @MyProc, я так понимаю должен получить адрес, или точку входа в данную процедуру, но при компиляции кода:
var
p:pointer;
begin
p:=@Button3Click(Sender);

возникает ошибка "Variable required" , что тут не так?

2.) Как обратиться к той области данных на которую должен указывать указатель p ?


 
down   (2002-11-02 13:53) [1]

1.Button3Click - это, по всей видимости, procedure of object, для нее нужно 2 указателя
2.p^



 
kofman ©   (2002-11-02 17:21) [2]

>down - спасибо, вот только непонятно:
1. А какой второй указатель?
2. Как определить, какого размера область памяти которая выделена под процедуру Button3Click?


 
down   (2002-11-02 17:31) [3]

1. Второй указатель - это указатель на объект, к которому применяется метод
2. Form1.MethodAddress(Button3Click) - Form1.MethodAddress(имя следующего за Button3Click метода), я так думаю


 
down   (2002-11-02 17:35) [4]

названия методов должны быть в кавычках


 
Ihor Osov'yak ©   (2002-11-02 17:57) [5]

2 kofman © (02.11.02 13:50):
p:=@TForm1.Button3Click;


> 2.) Как обратиться к той области данных на которую должен
> указывать указатель p ?


p будет указывать на код, а не данные.
А воообще ответ зависит от того, что Вы понимаете под словом обратится



 
kofman ©   (2002-11-02 20:05) [6]

Мне надо всю область памяти которая выделена под эту процедуру сохранить в массив.


 
Юрий Зотов ©   (2002-11-03 10:18) [7]

Пример для регулярной процедуры.

procedure Proc1(...);
begin
...
end;

procedure Proc2(...);
begin
...
end;

var
Proc1Body = array of byte;

procedure TForm1.Button1Click(Sender: TObject);
var
Len: DWORD;
begin
Len := DWORD(@Proc2) - DWORD(@Proc1);
SetLength(Proc1Body, Len);
CopyMemory(@Proc1Body[0], @Proc1, Len)
end;


 
Ученик ©   (2002-11-03 10:22) [8]

>kofman © (02.11.02 20:05)
Если для защиты, то будут проблемы, обсуждаемые в форуме раньше


 
kofman ©   (2002-11-03 10:49) [9]

>Юрий Зотов - большое спасибо, кажется это точто нужно
>Ученик - в общем-то не для защиты, но мысль интересная:)



Страницы: 1 вся ветка

Текущий архив: 2002.11.14;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.02 c
1-45869
opoloXAI
2002-11-05 15:45
2002.11.14
ComPort for Windows2000 (NT)


3-45754
Шурик Ш
2002-10-24 11:38
2002.11.14
Проблема с кодировкой


14-46056
Bboy
2002-10-25 09:22
2002.11.14
вопрос по Windows XP


14-46082
al_
2002-10-24 23:59
2002.11.14
Начинающему про dbf or Базы Данных


6-46030
BoxTer
2002-09-18 20:41
2002.11.14
Список компов в сетке