![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Получение адреса параметра функции [D7, WinXP]
Vladimir88 © (2005-10-14 16:24:00)$4300..$4700:Result:=GetLenCot100(Adress,numb_ti100_1,Cot100_1);
function TConverter.GetLenCot100(Adress: Word; NumbTi100:Byte; const Cot100: TCot100): Word;
var
i,j:Word;
begin
i:={ $4300}Word(Pointer(@Cot100));
адрес @Cot100_1 и @Cot100 получаются разные, как мне в функции получить правильный адрес на параметр, передаваемый в функцию.
Digitman (2005-10-14 17:14:00) [1]
> Vladimir88 (14.10.05 17:09) [8]
какого ж .. тогда ты передаешь параметр как const ?
ну и передавай тогда его как var или out !
тогда адрес меторазмещения в памяти фактически переданного параметра (какого бы типа он ни был) в теле вызванной п/программы м.б. получен в том самом виде : @имя_формального_параметра_п/программы
Vladimir88 (2005-10-14 17:09:00) [2]Без адресов не обойтись, у меня как раз такая ситуация что мне нужны не значения массива, а его адресс, Cot100[0] выдаёт то же самое
TUser (2005-10-14 17:02:00) [3]Узнавай адрес первого элемента Cot100[0]. А адрес самого массива - это бессмыслица.
И наверняка можно вообще без адресов обойтись, если написать вместо const - var
Digitman (2005-10-14 17:00:00) [4]бред какой-то ...
Vladimir88 (2005-10-14 16:56:00) [5]TCot100 это массив
han_malign (2005-10-14 16:51:00) [6]
> адрес @Cot100_1 и @Cot100 получаются разные
- TCot100 - перечислимый небось(cardinal) - дык они всегда по значению передаются(Delphi же не должен ругаться на GetLenCot100(Adress,numb_ti100_1, 17);)...
убери: TCot100- и будет тебе щастье(нетипизированная константа передается по адресу)
З.Ы. А с чего ты взял, что адрес это Word?
Amoeba (2005-10-14 16:44:00) [7]
> адрес @Cot100_1 и @Cot100 получаются разные
А что, они разве обязаны быть одинаковыми?
Vladimir88 (2005-10-14 16:36:00) [8]У меня есть структура типа запись, мне надо выдрать кусок памяти где содержится данное поле, и несколько следующих, в общем очень долго объяснять зачем, в общем для программирования устройств
Amoeba (2005-10-14 16:31:00) [9]А для чего это нужно?