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. As I can understand that the system unit is quite close to the OS definitions it should not be superseded by Lazarus.
Anyway, thanks for the explantion Sven.

Antonio.

Regards,
Sven

--
_______________________________________________
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

--
Sita
                Software
Antonio Fortuny
Senior Software engineer

220, avenue de la Liberté
L-4602 Niederkorn
Tel.: +352 58 00 93 - 93
www.sitasoftware.lu
Your IT Partner
--
_______________________________________________
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to