Question

J'ai écrit un assistant dans Delphi XE, et il fonctionne très bien. Cependant, je ne l'ai pas encore compris comment accéder au nom de l'unité par défaut généré (ou le nom de la forme ou le nom du projet) que l'OTA de Delphi peut créer.

Dans mon ancien style assistant, j'ai pu appeler ToolServices.GetNewModuleName de découvrir une unité disponible et de la forme nom que je pourrais utiliser pour générer les fichiers source associés. Quel est l'équivalent dans l'API des outils open d'aujourd'hui?

D'après les commentaires de l'unité ToolsAPI, je retourner un vide de la méthode IOTAModuleCreator.GetImplFileName avoir Delphi générer le nom du fichier. Je retourne une chaîne vide de cette méthode, mais ne peut pas voir où je peux accéder au nom de fichier Delphi génère.

Était-ce utile?

La solution

Il existe une méthode spécifique pour obtenir une nouvelle forme et le nom unité:

(BorlandIDEServices que IOTAModuleServices) (.GetNewModuleAndClassName    '', UnitIdent, FormName, filename);

Je l'ai utilisé dans quelques exemples et il semble fonctionner très bien.

Autres conseils

La méthode IOTAModuleCreator.NewImplSource ont une parametter "ModuleIdent", il est le nom de l'unité.

Dans mes tests, cela fonctionne comme prévu (paramètre ModuleIdent dans la méthode de NewImplSource reçoit le nouveau nom de l'unité). Vérifiez votre mise en œuvre à nouveau, surtout assurez-vous que:

  • retourne vrai IOTACreator.GetUnnamed
  • retourne IOTACreator.GetExisting Faux
  • IOTACreator.GetCreatorType renvoie l'identificateur approprié (sUnit, sForm, etc.) - Je ne suis pas sûr de cela, mais il pourrait être important aussi

est un exemple de travail. Je viens de vérifier et le code semble encore fonctionner comme prévu dans Delphi XE.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top