[Lazarus] Forward declaration not solved

Mattias Gaertner nc-gaertnma at netcologne.de
Fri Aug 9 11:44:46 CEST 2013


> Antonio Fortuny <a.fortuny at sitasoftware.lu> hat am 9. August 2013 um 11:15
> geschrieben:
>[...]
>
>
> 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 ?

The problem is that Windows has one handle type for everything, while other OS
have different types of handles.
 

Mattias




More information about the Lazarus mailing list