Форум: "Основная";
Текущий архив: 2002.11.14;
Скачать: [xml.tar.bz2];
ВнизКак грамотно применить операцию @ применительно к процедуре? Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.009 c