[Lazarus] Forward declaration not solved
Sven Barth
pascaldragon at googlemail.com
Fri Aug 9 11:29:25 CEST 2013
Am 09.08.2013 11:15, schrieb Antonio Fortuny:
>
> Le 09/08/2013 10:22, Mattias Gaertner a écrit :
>> clamav3.pas(324,12) Error: Forward declaration not solved
>> "OpenLongFileName(const AnsiString,const LongInt):QWord;"
>>
>> Any comment ?
>> Maybe there is a unit in your implementation uses section that
>> redefines THandle.
> On the declaration (following Ctrl + mouse left click) leads to QWord:
> THandle --> PtrUInt (LCLType) --> QWord (systemh.inc)
> on the implementaion: THnadle --> System.THandle (sysutilf.inc) -->
> THandle --> LongInt (sysosh.inc)
>
> Well done. In the interface units uses declares: LCLIntf, LCLType,
> LMessages, FileUtil;
> In the implemantaion uses declares Classes, sysutils;
> OK. It is a Delphi conversion and I didn't pay enough attention to it
>
> But the isn't there some ambiguity between LCL declarations and FPC
> declarations for what is obviously the same type ?
Might be related to the fact that the LCL often uses the THandle to
store a pointer on non-Windows widgetsets. On e.g. Linux x86_64 THandle
is defined as a longint because of file operations... There might not be
a solution with which anyone can live :/
Regards,
Sven
More information about the Lazarus
mailing list