[fpc-pascal]Apple Mac pointer problem

Stephen Downs stephend at e-tempest.co.uk
Thu Sep 23 20:49:47 CEST 2004


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?

regards... Steve








More information about the fpc-pascal mailing list