Как получить новое название устройства от Delphi's Open Tools API

StackOverflow https://stackoverflow.com/questions/4196412

Вопрос

Я написал волшебник в Delphi XE, и он работает нормально. Тем не менее, я еще не понял, как получить доступ к сгенерированному имени блока по умолчанию (или имя формы или имя проекта), которое может создать OTA Delphi.

В своем мастере старого стиля я смог позвонить в Toolservices.getNewModulename, чтобы обнаружить доступное устройство и имя формы, которое я мог бы использовать при генерации соответствующих исходных файлов. Что эквивалентно в сегодняшнем API Open Tools?

Согласно комментариям устройства ToolsAPI, я должен вернуть бланк из метода йотамодулекриатора.getimplfilename, чтобы Delphi генерировал имя файла. Я возвращаю пустую строку из этого метода, но все еще не вижу, где я могу получить доступ к имени файла, которое генерирует Delphi.

Это было полезно?

Решение

Существует конкретный метод получения новой формы и названия блока:

(BorlandideServices как йотамодулевики). GetNewModuleAndClassName ('', Unitident, FormName, имя файла);

Я использовал в нескольких примерах, и, кажется, работает нормально.

Другие советы

Метод iotamodulecreator.newimplsource имеет параметров «модулиидов», это имя блока.

В моих тестах это работает, как вы ожидали (ModuleIdent параметр в NewImplSource Метод получает новое имя блока). Проверьте свою реализацию еще раз, особенно убедитесь, что:

  • IOTACreator.GetUnnamed Возвращает правда
  • IOTACreator.GetExisting возвращает ложь
  • IOTACreator.GetCreatorType возвращает соответствующий идентификатор (sUnit, sForm, и т. д.) - я не уверен в этом, но это тоже может быть важно

Здесь это рабочий пример. Я только что проверил это, и код, кажется, все еще работает, как и ожидалось в Delphi XE.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top