Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.006 c
2-1263898004
виктор
2010-01-19 13:46
2010.03.21
Как изменить свойство группы компонентов?


6-1214898330
OberonAR
2008-07-01 11:45
2010.03.21
WebBrowser и загрузка файла


1-1245049450
Priest
2009-06-15 11:04
2010.03.21
После установки D 2007 начались проблемы в D7


2-1262884065
vegarulez
2010-01-07 20:07
2010.03.21
Народ помогите разобраться с XML Data Binding


4-1217942070
Rafa
2008-08-05 17:14
2010.03.21
Программирование устройства через COM-port




   Наверх