> The compiler already gives unit information in case you have > conflicting types for making it easier to debug such problems. I > don't see why it shouldn't do the same for used function definitions. > Jonas
program A; // "Bad" program uses sysutils,windows; const B:shortstring='1.txt'; begin DeleteFile(B); end. Last compiler messages ("-va"): (all dependencies, path searching etc are before) Searching file 1.pp... found (A) Load from A (implementation) unit WINDOWS 1.pp(3,1) (A) Parsing implementation of 1.pp 1.pp(4,19) Error: Incompatible type for arg no. 1: Got "ShortString", expected "PChar" Hint: Found declaration: DeleteFile(PChar):LongBool program C; uses windows,sysutils; const B:shortstring='1.txt'; begin DeleteFile(B); end. Last compiler messages: Searching file 2.pp... found 2.pp(3,1) (C) Parsing implementation of 2.pp 2.pp(2,13) Hint: Unit "windows" not used in C I got nice hints: "Load from A (implementation) unit WINDOWS" and "Hint: Unit "windows" not used in C". While the second hint helps me to understand, that if I wanted to run deletefile() from windows, I failed, I don't understand how to read first bunch of messages (there are lotsa "Load from A ..." messages). Of course, if I use any function from windows unit, I don't get "Hint: ... not used ...". This is fpc-pascal maillist, I don't insist, that I can read good. Where from had I to get my hint? _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal