> 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

Reply via email to