2009-07-30 7 views
3

Jusqu'à présent, j'ai vu seulement tools et quelques informations pour la création de code Delphi pour un fichier d'en-tête C donné. Cependant, dans le cas 'Delphi first', il y a une déclaration d'interface Delphi et une DLL générée, et pas d'en-tête C. Y at-il des outils qui peuvent extraire les informations nécessaires et construire un fichier d'en-tête C pour une DLL?Existe-t-il un outil qui crée des fichiers d'en-tête C pour les DLL Delphi (Win32)?

Un tel outil pourrait être utile et gagner du temps dans les projets multilingues/multiplateformes. Par exemple, avec le fichier d'en-tête C, il serait plus facile de créer automatiquement le code de liaison Java JNA avec jnaerator. La chaîne d'outils ressemblerait à ceci:

source Delphi -> créer tête C -> convertir en Java contraignant -> utiliser Delphi DLL de Java

Répondre

7

Le compilateur Delphi peut générer des fichiers d'en-tête C/C++ à partir de fichiers .pas, en utilisant le paramètre -JPHNE.

1

Bien que cela fonctionne en théorie, de nombreux DLL Delphi utilisera les conventions d'appel comme Vous pouvez probablement enregistrer la plupart des compilateurs C en ajoutant des pragma, mais je doute de la liaison Java entière. les choses vont manger ça. Donc, à moins que la DLL ne soit conçue dans cet esprit, cela fonctionnera probablement plus souvent que cela ne le sera.

Lire et analyser l'en-tête Delphi n'est pas si difficile. Pascal est plus facile à analyser et à transformer que par ex.

Questions connexes