Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

запись в память по смещению


fford ©   (2010-01-20 10:57:00) 

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

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

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


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


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

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


Sha   (2010-01-20 11:40:00) [2]

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


Anatoly Podgoretsky   (2010-01-20 11:39:00) [3]

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

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


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

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

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


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


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

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

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


Sha   (2010-01-20 11:12:00) [6]

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


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

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


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

p^
Inc(p)


Наверх

Титульная страница Поиск, карта сайта Написать письмо