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

Вниз

Простой ворос   Найти похожие ветки 

 
Dimman   (2004-05-14 14:06) [0]

Есть запись (record), в ней одно поле содержит смещение в этой же записи (относительно начала записи) на строку типа PChar. Как мне по этому смещению получить адрес строки (чтобы из записи выдернуть саму строку).
Логически это болжно бы выглядеть так:
s:=PChar(@Rec+Rec.StringOffset);
или так:
s:=PChar(@Rec+Pointer(Rec.StringOffset));
но ни то не другое не рабоает (пишает что оператор неприменим для данного типа операндов).
Понимаю что торможу, давно паскаль учил, забыл азы :) ....
Помогите срочно.


 
Игорь Шевченко ©   (2004-05-14 14:07) [1]


> s:=PChar(@Rec+Pointer(Rec.StringOffset));


S := PChar(Integer(@Rec) + Rec.StringOffset) ?


 
Verg ©   (2004-05-14 14:10) [2]

Одну скобку левее переставь.

PChar(@Rec)+Rec.StringOffset;


 
Dimman   (2004-05-14 14:11) [3]

Спасибо, заработало!!!



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

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

Наверх




Память: 0.47 MB
Время: 0.048 c
1-1084633487
Ivolg
2004-05-15 19:04
2004.05.30
Компоненты


14-1084382180
NailMan
2004-05-12 21:16
2004.05.30
Че-то запутался с приведением к типу... :-(


14-1084350738
xman
2004-05-12 12:32
2004.05.30
Install Shield EXPRESS


7-1083300050
WondeRu
2004-04-30 08:40
2004.05.30
Заголовочный файл WMI для Delphi


1-1084609360
KillOfCats
2004-05-15 12:22
2004.05.30
Delphi и HTML