I have a set of compiled Delphi dcu files, without source. Is there a way to determine what types are defined inside this dcu?
You can look at DCU32INT , the Delphi DCU decompiler. It generates a .int file, which is somehow readable, but not compiled, but if you only want to define certain types, this may be enough.
To find out what is in the module named FooUnit, enter the following in the editor:
unit Test; interface uses FooUnit; var x: FooUnit.
Ctrl + Space , IDE , , , .
The DCU format is undocumented, the last time I checked. However, there is a tool I found that can give you some basic information called DCUtoPAS . It is not well rated on the site, but it can at least extract types for you. There is also DCU32INT , which may also help.
Otherwise, you just need to open the file with a hex editor and dig up the lines.