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

Вниз

Указатель на функцию: как проверить его значение, а не вызвать   Найти похожие ветки 

 
KSergey ©   (2003-07-04 10:17) [0]

Есть такие кусочки кода:

type
TSetPermitLogin = procedure {SetPermitLogin}; stdcall;
...
var
SetPermitLogin: TSetPermitLogin;
...
if SetPermitLogin <> nil then

Вот можно ли в последней строке как-то извернуться и объяснить, что я не хочу здесь вызывать пороцедуру? Ф-цию Assigned не рассматриваем - модуля system нет и не надо. Можно конечно свою написать, в которой агрумент просто проверять, но нельзя ли как-то это прямо в if упихнуть? А то сейчас использую промежуточный указатель...


 
Radionov Alexey ©   (2003-07-04 10:19) [1]

...
if @SetPermitLogin <> nil then


 
Юрий Зотов ©   (2003-07-04 10:59) [2]

> модуля system нет и не надо

А вот это вряд ли. Он все равно есть. Так что можете спокойно использовать Assigned.


 
KSergey ©   (2003-07-04 11:57) [3]

> Юрий Зотов © (04.07.03 10:59)
> А вот это вряд ли. Он все равно есть.

Ух ты! И правда.. Вот бы не подумал. ;) Спасибо. (так вот откуда минимальный размер - 16кБ по всей видимости?)

> Radionov Alexey © (04.07.03 10:19)
> if @SetPermitLogin <> nil then

Растолкуйте для меня, пожалуйста, что означает сия конструкция. Вернее так: а что вообще-то хранится в переменной SetPermitLogin? Я так думал, что это просто типизированный указатель на ф-цию, но раз к нему можно применить операцию "дай адрес" - получается, что я ошибаюсь? Т.е. это как бы некий объект получается (не в терминах ООП, разумеется), адрес которого и запрашиваем? Как-то не понятно. Неужели в переменной SetPermitLogin хранится не просто адрес функции? А если адрес, то получается что адрес адреса запрашиваем, что совсем уже не то должно получаться...

Растолкуйте, пжлст, кому не лень.


 
Radionov Alexey ©   (2003-07-04 12:03) [4]

>KSergey © (04.07.03 11:57)
Синтаксическая особенность по поводу "что я не хочу здесь вызывать пороцедуру"


 
KSergey ©   (2003-07-04 14:28) [5]

> Radionov Alexey © (04.07.03 12:03)

Ничего себе, "особенность".... 8\



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

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

Наверх




Память: 0.47 MB
Время: 0.018 c
3-55397
Smalik
2003-06-23 13:56
2003.07.17
Сортировка в Grid e


14-55769
k-man
2003-06-30 12:42
2003.07.17
А в Гадюкино опять дожди


14-55747
VEG
2003-07-02 22:58
2003.07.17
Кто-нибудь разрабатывал один проект более 2- лет??7


1-55632
K_O_T
2003-07-03 15:17
2003.07.17
COM итерфейс IStorage. Общение с TTreeView.


6-55708
BJValentine
2003-03-31 14:34
2003.07.17
SMS !!!