![]() |
|
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]()
|
|
| Christoph |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 667 Регистрация: 23.1.2008 Где: Харьков Репутация: 5 Всего: 11 |
нашел в справке такую инфу
так вот написано что @F хранит адресс, адресс функции, и написано чтоб получить адресс процедурной переменны, то надо писать @@F, разве @F и @@F отличаются? Вот решил написать небольшой пример, но есть своки бока
Правильно ли я вывожу адресс? а то мне выводит пустое окно, а если пишу так:
...то ошибка вылетает, ошибка AV. Можете помочь разъяснить ситуацию? Спасибо Это сообщение отредактировал(а) Christoph - 30.1.2009, 23:14 -------------------- ![]() |
||||||
|
|||||||
| Bose |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1458 Регистрация: 5.3.2005 Где: Riga, Latvia Репутация: 8 Всего: 51 |
procedure TForm1.FormCreate(Sender: TObject);
begin Proc:=@Fun; ShowMessage(IntToStr(@Proc)); end; Добавлено @ 19:25 К тому же всё это можно записать как:
Добавлено @ 19:25 без заморочек с @ Это сообщение отредактировал(а) Bose - 30.1.2009, 19:25 |
|||
|
||||
| bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 18 Всего: 88 |
тут еще нужно привести указатель к целому
-------------------- Обижено школьников: 8 |
|||
|
||||
| Christoph |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 667 Регистрация: 23.1.2008 Где: Харьков Репутация: 5 Всего: 11 |
Bose, ты ошибаешся, запись
Будет требовать параметры, и будет пытаться присвоить результат переменной Proc.Была бы процедура другое дело, А переменная Proc у меня другого типа Мне кажется что приведения IntToStr не сработает) потом что там указатель и string, я не знаю, я чуть позже попробую -------------------- ![]() |
|||
|
||||
| bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 18 Всего: 88 |
-------------------- Обижено школьников: 8 |
|||
|
||||
| Bose |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1458 Регистрация: 5.3.2005 Где: Riga, Latvia Репутация: 8 Всего: 51 |
Не ошибаюсь. Точнее ошибаюсь, но не в этой строке. правильно будет вот так:
Здесь ShowMessage показывает результат выполнения функции Fun(12). А результат выполнения этого:
Здесь ShowMessage показывает адрес переменной Proc. |
||||||
|
|||||||
| bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 18 Всего: 88 |
а разве не это надо было?
-------------------- Обижено школьников: 8 |
|||
|
||||
| Christoph |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 667 Регистрация: 23.1.2008 Где: Харьков Репутация: 5 Всего: 11 |
Bose, да прости чуть не продумал, не хотел тебя обвенять
Выводит 4545536
Выводит 4530368, адресса разные, что же получается?! Пример для наглядности
Значит получается так и есть что @@Proc возращает адресс переменной Proc, а @Proc указывает на адресс начало функции, и не разу не видел чтоб был оператор @@,эх ну ладно, надо учить асм) bems, Bose, спасибо за обсуждение темы. P.s если не будет комментариев я тему закрываю Это сообщение отредактировал(а) Christoph - 30.1.2009, 23:41 -------------------- ![]() |
||||||
|
|||||||
| Bose |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1458 Регистрация: 5.3.2005 Где: Riga, Latvia Репутация: 8 Всего: 51 |
||||
|
||||
| bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 18 Всего: 88 |
а зачем авторам хелпа распространять ложную информацию? ну да, так и есть значит мало кода читал. Это встречается. ну для общего развития оно не помешает, но как это вытекает из этого топика я не понял. Тут и без знания ассемблера все складывается в нормальную картинку -------------------- Обижено школьников: 8 |
|||
|
||||
![]()
|
| Правила форума "Delphi: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |