On 1/13/07, Mohamed A. Hammady <[EMAIL PROTECTED]> wrote:
Hi all,

I have the following types declaration

type
  LongIntRA = array [1..1] of LongInt;
  LongIntp = ^LongIntRA;
.
.
.

Procedure test;
var
   lLongRA: LongIntp; Pos: Longint;
Begin
.
.
.
  lLongRA[1] := Pos;
.
.
.
End;

When I complie, I got the following error
Error: Incompatible types: got "LongInt" expected "LongIntRA"


This code was accepted by D6... Any advise? And why?

You are trying to write to a memory address (that was allocated at
position 1) an integer content instead of pointer address. So you need
to do the following:

iLongRA^[1] := Pos;

And then you'll be able to store on cell 1 of the *array* the content of Pos.


Thanks & best regards,
M. Hammady



Ido
--
http://ik.homelinux.org/

_________________________________________________________________
    To unsubscribe: mail [EMAIL PROTECTED] with
               "unsubscribe" as the Subject
  archives at http://www.lazarus.freepascal.org/mailarchives

Reply via email to