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

Вниз

запись в память по смещению   Найти похожие ветки 

 
fford   (2010-01-20 10:57) [0]

Здравствуйте!
мне надо в функцию передать параметром указатель на массив

type
  pInt64=^Int64;

procedure foo(size:Integer; data:pInt64);
....


подскажите как его сформировать?
я делаю примерно так
var p:pInt64;
    i:Integer;
begin
GetMem(p,10*SizeOf(Int64));
for i:=0 to 9 do
  p[i]:=0;
foo(10,p);
...
End;


но компилятор ругается на строку p[i]:=0
Array type required
если сделать как (p+i*sizeof(Int64))^:=0;
то ругается
Operator not applicable to this operand type

подскажите как его заполнить то ?


 
Медвежонок Пятачок ©   (2010-01-20 11:07) [1]

p^
Inc(p)


 
Сергей М. ©   (2010-01-20 11:11) [2]

Чем тебе тип array of Int64 не угодил ?


 
Sha ©   (2010-01-20 11:12) [3]

или
type
 Int64Array = array [0..256*1024*1024 - 2] of Int64;
 pInt64Array = ^Int64Array;
var
 p: pInt64Array;


 
fford   (2010-01-20 11:23) [4]


> Чем тебе тип array of Int64 не угодил ?

функция из библиотеки сторонней
и там вот так передается параметр
объявлен тип
TTUInt64 = Int64;
PTUInt64 = ^TUInt64;

и в процедуру так и передается
массив как переменная типа PTUInt64


 
fford   (2010-01-20 11:35) [5]

я сделал так
var
 p:Array[0..9] of TTUInt64;
begin
....
for i:=0 to 9 do
  p[i]:=0;

foo(9,PTUInt64(addr(p[0])))


 
Anatoly Podgoretsky ©   (2010-01-20 11:39) [6]

> fford  (20.01.2010 10:57:00)  [0]

Приведи сначала к числу, числа можно складывать, а потом к указателю, указатели нельзя складывать, можно складывать только указатели на CHAR


 
Sha ©   (2010-01-20 11:40) [7]

Спросил одно, а надо другое.


 
fford   (2010-01-20 15:13) [8]


> Спросил одно, а надо другое.

вроде именно это и спрашивал :)
может ты не так понял



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

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

Наверх




Память: 0.48 MB
Время: 0.011 c
2-1263741218
@!!ex
2010-01-17 18:13
2010.03.21
Как поместить кнопку на Caption в Windows Vista and later


2-1263974246
fford
2010-01-20 10:57
2010.03.21
запись в память по смещению


2-1263901034
webpauk
2010-01-19 14:37
2010.03.21
Приведение типов


2-1263805978
NBAH1990
2010-01-18 12:12
2010.03.21
как найти какой области принадлежит значение?


1-1243237795
_REA
2009-05-25 11:49
2010.03.21
Китайский язык