Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
1-45991
Keksss
2002-11-04 14:16
2002.11.14
Передача с формы на форму


1-45839
liho26
2002-11-04 08:27
2002.11.14
D7, что за глюк?


6-46034
AMSYS
2002-09-19 17:51
2002.11.14
Internet .About:blank


3-45699
oldimax
2002-10-24 18:38
2002.11.14
Paradox 3.5 & Delphi


1-45832
Incognito
2002-11-05 00:34
2002.11.14
Алгоритм перемешивания.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский