![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Запутался в указателях.. =( [D6, WinXP]
Grizl © (2003-01-30 12:03:00)Хм.. есть тип:
-----------------------------------
TYPE
PDISK_GEOMETRY = ^DISK_GEOMETRY;
DISK_GEOMETRY = RECORD
Cylinders: TLARGEINTEGER;
MediaType: MEDIA_TYPE;
TracksPerCylinder: DWORD;
SectorsPerTrack : DWORD;
BytesPerSector : DWORD;
END;
-------------------------------------
Где то в программе:
SourceDriveGeometry : PDISK_GEOMETRY;
Опять где то в программе:
DeviceIoControl(hDevice,
IOCTL_DISK_GET_DRIVE_GEOMETRY,
nil,
0,
SourceDriveGeometry,
sizeof(SourceDriveGeometry^),
junk,
nil);
---- вырезано ..
Как мне доступиться к переменной SourceDriveGeometry.TracksPerCylinder ? Никак не получается.. Выдает ошибку.
Digitman (2003-01-30 12:33:00) [1]SourceDriveGeometry : PDISK_GEOMETRY;
...
New(SourceDriveGeometry); //!!!!!
try
DeviceIoControl(hDevice,
IOCTL_DISK_GET_DRIVE_GEOMETRY,
nil,
0,
SourceDriveGeometry,
sizeof(SourceDriveGeometry^),
junk,
nil);
ShowMessage(IntToStr(SourceDriveGeometry.TracksPerCylinder));
finally
Dispose(SourceDriveGeometry); //!!!!!
end;
Grizl (2003-01-30 12:30:00) [2]БЛИН.. :) Решил проблему :))) Давно не программил... Память забыл выделить :)))))
Dona (2003-01-30 12:15:00) [3]SourceDriveGeometry^.TracksPerCylinder ?