Главная страница
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.042 c
8-1115793414
Deka
2005-05-11 10:36
2005.09.25
Нет ли у кого описания для формата RAW фотоаппаратов Olympus?


14-1125312326
QwertyKz_
2005-08-29 14:45
2005.09.25
логотипы к программе компьютерного тестирования


4-1122615350
rentgen
2005-07-29 09:35
2005.09.25
TButton(ALL).Caption:= Батон ;


14-1125687602
DiamondShark
2005-09-02 23:00
2005.09.25
Оборзели.


1-1125557952
Боян Георгиев
2005-09-01 10:59
2005.09.25
Как проиграть *.wav файл?