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

Вниз

Что означает "absolute", и почему он не работает?   Найти похожие ветки 

 
yuryzh ©   (2005-08-29 15:49) [40]

Этот пример взят из реального кода.
var
  DeviceMode : TDevMode absolute 0;
ChangeDisplaySettings(DeviceMode, 0)

Просто в оригинале эта функция описана как
LONG ChangeDisplaySettings(
 LPDEVMODE lpDevMode,  // graphics mode
 DWORD dwflags         // graphics mode options
);

а в Delphi
function ChangeDisplaySettings(
 var lpDevMode: TDeviceMode;
 dwFlags: DWORD): Longint; stdcall;

и для передачи var параметра, адрес которого есть nil использовалась конструкция
DeviceMode : TDevMode absolute 0;


 
Джо ©   (2005-08-29 15:53) [41]

Вот пример из модуля MxArrays.pas:

function CmpWord(var item1, item2): Integer;
var
 w1: word absolute item1;
 w2: word absolute item2;
 i1, i2: Integer;
begin
 ...


 
Игорь Шевченко ©   (2005-08-29 16:08) [42]

yuryzh ©   (29.08.05 15:49) [40]


> ChangeDisplaySettings(DeviceMode, 0)


ChangeDisplaySettings(PDeviceMode(nil)^, 0)


 
Германн ©   (2005-08-30 01:10) [43]

2 Anatoly Podgoretsky ©   (29.08.05 09:06) [39]

 >Юрий Зотов ©   (29.08.05 05:16) [34]
>Что реализуется также с помощью вариантных записей или что еще >лучше приведения. Ценность absolute была высока в программах >реального режима, для указания абсолютных аппаратных ресурсов, >но часто использовалась не совсем по делу. И перенос этой >технологии на Дельфи не обоснован, если не сказать прямо, как >правило приносящий больше вреда, чем реальной пользы.

Имхо, Вы, Анатолий, правы по сути.
Но с истормческой точки зрения - не совсем.
А уж для тех, кто вроде меня имел дело с иными PASCAL"ями, нежели TP, так уж и вовсе не правы!
Некоторые компиляторы, с которыми мне пришдось работать не понимали ни "вариантные записи", ни "приведение типов"!

Но поскольку тут форум Дельфи, мои замечания, имхо offtopic.



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

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

Наверх




Память: 0.54 MB
Время: 0.027 c
14-1125323191
БарЛог
2005-08-29 17:46
2005.09.25
Скрипты на СИ - можно ли?


14-1125422503
TJulia
2005-08-30 21:21
2005.09.25
Редактирование видео


8-1115611310
Viktop
2005-05-09 08:01
2005.09.25
Проиграть музыку из ресурса


14-1125646706
ocean
2005-09-02 11:38
2005.09.25
Второй DHCP?


1-1125670203
VadimX
2005-09-02 18:10
2005.09.25
Странное поведение IDE отладчика