Comment récupérer un nouveau nom de l'unité de l'API d'outils open Delphi
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.
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.