Главная страница
    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.007 c
1-45796
Vadia
2002-11-03 15:49
2002.11.14
Печать TMemo


4-46185
Th
2002-10-02 20:20
2002.11.14
Как Bitmap поместить на DC?


3-45676
Serginio
2002-10-27 14:08
2002.11.14
Ктонибудь сравнивал ado и dbexpress при работе с MS SQL


1-45992
Smirnoff
2002-11-04 16:47
2002.11.14
Как попроще выделить из переменной-даты год?


1-45860
mihrutka
2002-11-05 14:49
2002.11.14
господа, а можно ли полностью загрузить TTreeView НО





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский