J'ai un ensemble de fichiers Delphi dcu compilés, sans source. Y at-il un moyen de déterminer quels types sont définis à l'intérieur de ce dcu?Comment savoir quels types sont définis dans une DCU Delphi?
Répondre
Vous pouvez jeter un oeil à DCU32INT, un décompilateur Delphi DCU. Il génère un fichier .int qui est en quelque sorte lisible mais non compilable, mais si vous voulez seulement déterminer les types définis, cela pourrait suffire.
Le format DCU est non documenté, dernière fois que j'ai vérifié. Cependant, il y a un outil que j'ai trouvé qui pourrait vous donner quelques informations de base appelées DCUtoPAS. Ce n'est pas très bien noté sur le site, mais il pourrait au moins extraire les types pour vous. Il y a aussi DCU32INT, ce qui pourrait aussi aider. Dans le cas contraire, vous devrez peut-être ouvrir le fichier avec un éditeur hexadécimal et rechercher des chaînes.
DCUtoPAS ne fonctionnait pas du tout ... DCU32INT l'a fait cependant. – JosephStyons
Pour savoir ce qui est dans une unité nommée FooUnit, tapez ce qui suit dans votre éditeur:
unit Test;
interface
uses FooUnit;
var
x: FooUnit.
Appuyez sur Ctrl + Espace à la fin, et l'IDE présentera une liste de valeurs d'achèvement possibles, qui devrait être constitué principalement, sinon exclusivement, de noms de types.
Solution la plus simple, et cela fonctionne bien. J'ai accepté schnaader cependant, car il décompose réellement le DCU directement, plutôt que de s'appuyer sur l'IDE. – JosephStyons
dcu32int a fonctionné pour moi. Le fichier .int était assez lisible. – JosephStyons