On Fri, 9 Aug 2013, Antonio Fortuny wrote:
Le 09/08/2013 11:29, Sven Barth a écrit :
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 :/
OK, I think I can live with this. But I think it would be preferable to use a
distinct type name.
I have been proponent of this idea since many years :-)
Michael.
--
_______________________________________________
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus