|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
23.11.2008, 16:29 | #1 |
Форумчанин
Регистрация: 08.10.2008
Сообщений: 668
|
absolute
пожалуйста уточните как работает абсолют. Это директива из Паскаля.
Кстати прочёл что она устарела. Как её написать в Дельфи иначе? Указателями или как...
Don't worry be happy
|
23.11.2008, 16:41 | #2 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
смотря что требуется... в object pascal она поддерживается... можно разумеется ее инициализировать как к примеру:
Код:
|
23.11.2008, 16:50 | #3 |
Форумчанин
Регистрация: 08.10.2008
Сообщений: 668
|
т.е. в данном случае в массиве окажется 4 байта 32битного int'а...
Спасибо BOBAH13, вроде понял. Хороший пример Нужно 1ым способом... Пишет Error: "Invalid TypeCast" Хотя при absolute у меня сразу работало.
Don't worry be happy
Последний раз редактировалось Stilet; 23.11.2008 в 18:45. |
23.11.2008, 18:47 | #4 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Можно так:
Код:
Код:
I'm learning to live...
|
23.11.2008, 19:14 | #5 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
Stilet вы путаите смысл данной операции... Вы копируите данные... а смысл absolute в том что если менять любое значение в одной из переменных то оно меняется и в другой т.к. они обе указывают на один и тот же адресс просто процессор работает с ними по разному.
Теперь поясню разницу array[0..3] of и array of... если объявить статистически [0..3] то дельфи без дерективы absolute резервирует в сегменте данных 4 байта... и адрес объвялянной переменной указывает именно на 1й байт этих данных... если же вы объявляите динамически то резервируется ( что наверняка ) 4 байта - адресс... и так.. когда мы пишем @i это значит что мы указываем адресс на данные i - 4 байта как Integer... и тут процессор понимает что раз объявлено array of byte мы можеш обращаться к данным по адрессу ( т.е. к данным I: Integer) по байтно вот и вся фишка... а absolute всеголиш говори дельфи что эти данные будут указывать на адресс начала данных I: Integer и работать с ними как array[0..3] of Byte на правильность всего выше сказанного 100% дать не могу т.к. не в курсе как дельфи транслирует в асм p.s. предъявите код оформим вашу absolute первым способом )) Последний раз редактировалось BOBAH13; 23.11.2008 в 19:27. |
24.11.2008, 00:45 | #6 |
Форумчанин
Регистрация: 16.12.2006
Сообщений: 859
|
хм... я видел что такое есть, но ни разу не понадобилось.. можно привести практический пример где оно надо? ну не приходит на ум ничего...
|
24.11.2008, 02:08 | #7 |
Баламучу слегка...
Участник клуба
Регистрация: 01.11.2006
Сообщений: 1,585
|
Можно так еще
Код:
|
18.12.2009, 19:33 | #8 |
Новичок
Джуниор
Регистрация: 17.12.2009
Сообщений: 2
|
Реанимация темы
Покажите, пожалуйста, в коде, если не трудно.
Последний раз редактировалось mihali4; 18.12.2009 в 19:41. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
связать таблицы в Absolute Database | furstenberg | БД в Delphi | 5 | 08.03.2011 10:51 |
Помогите с Absolute Database | sveiks | БД в Delphi | 1 | 30.07.2007 17:03 |