Subject Re: FreePascal client access errors
Author realjimbeam
--- In firebird-support@yahoogroups.com, "hvlad" <hvlad@...> wrote:
> --- In firebird-support@yahoogroups.com, "realjimbeam" <realjimbeam@> wrote:
> >
> > Hi all,
> >
> > I wonder if this is the right group to post questions regarding problems with accessing Firebird 2.1.3 using the FreePascal compiler (64 bit) on Windows. FreePascal support guys suggest the client library/embedded Firebird is crashing.
>
> Such questions should be asked in fb-devel list.
Thanks, I'll fiddle with the code based on your hints below first & go to fb-devel if required.
>
> After quick look at ibase40.pp i found that it defines ISC_STATUS as Long. There should be sizeof(ISC_STATUS) = sizeof(Pointer), i.e. ISC_STATUS should be 4-byte on 32-bit and 8-byte on 64-bit.
> I don't know what is Long in FreePascal but guess it is always defined as 4-byte integer, correct ?

Correct. Apparently you can use a PtrInt that varies depending on architecture (http://wiki.freepascal.org/Integer).

>
> Also look at ibase60.inc:
>
> Type
> ...
> ISC_STATUS = clong; // wrong for x64
> ISC_INT64 = clonglong;
>
>
> Regards,
> Vlad


Thanks a lot for the hints, I'll go digging through the code!
regards,
jb