-----Original Message----- From: Marcel Martin [mailto:[EMAIL PROTECTED] Sent: Thu 9/23/2004 9:18 PM To: [EMAIL PROTECTED] Cc: Subject: Re: [fpc-pascal]Apple Mac pointer problem
Stephen Downs a écrit : > > I am porting a Mac CodeWarrior project to FreePascal and have hit a > compile problem with a pointer. In my original code I have a structure > defined along the lines of > > testData = record > testIndex : array [0..12] of integer; > end; > > testDataPointer = ^testData; > testDataHandle = ^testDataPointer; > > Within my main code I open a file and try to read it into my structure > > testDataHdl := testDataHandle(NewHandleClear(sizeof(testData))); > OSError := FSRead(fileRefNum, numberOfBytes, testDataHdl^) > > The FSRead line fails with error: 62: Incompatible type for arg no. 3: > Got "testDataPointer", expected "Ptr" - the third parameter for FSRead is a > pointer. I presume this is because FreePascal uses typed pointers. I > tried replacing testDataHdl^ by Ptr(testDataHdl)^ but that gives a > similar error - Got "ShortInt", expected "Ptr" > > Does anyone know how I can get around this? >This is very likely a stupid suggestion but have you tried this > > Ptr(testDataHdl^) I had tried that and it compiles ok but when it runs, the FSRead statement returns an error -36 which is an I/O error
<<winmail.dat>>