Not a perfect solution, but the following solutions work: 1) create a unit for all clashing types to live in. Move all types that clash to this central point and then use this unit anywhere that the clash occurs.
2) use the following trick in your local code: type TMyclashingType = UnitIWantToUse.TMyClashingType; so in your case: type PicHandle = common.PicHandle; Solution 1 is more favourable though. Solution 2 will only work if luck is on your side and you do not require procedures or functions from both units that take the type as a param. Mind you, the above could be defined as: type CommonPicHandle = common.PicHandle; type FileUtilsPicHandle = FileUtils.PicHandle; and so long as you do not use any structures based on them, all will be fine. Structures (records) may also allow this trick, but then it's getting into scoping issues and that can sometimes change from compiler to complier, so I will not claim it will work. All of this may or may not require Delphi mode - it certainly works in Delphi mode. Matt _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal