Добавление объекта автоматически в проект

Я работаю над компонентом в Delphi 7 а также Delphi 2006где я использую блок, который мне нужно добавить в .dpr файл проекта, на который компонент удаляется автоматически. Подобно тому, как Eureka Log автоматически добавляет модуль ExceptionLog в файл проекта:

Может кто-нибудь сказать мне, как программно добавить модуль в файл проекта, когда я помещаю свой компонент в любую форму в проекте?

3 ответа

Решение

Для этого вам, скорее всего, придется использовать API Open Tools.

Также может потребоваться написать TSelectionEditor для вашего компонента, чтобы инициировать добавление модуля (я бы попробовал метод RequUnit).

Хотя существует простой способ просто добавить модуль в активный проект (см. Код ниже), он работает только для активного проекта, который может быть не тем проектом, которому принадлежит форма, к которой вы добавляете компонент. Также он добавляет модуль в конце предложения использования.

uses
  ToolsAPI;

var
  currentProject: IOTAProject;
begin
  currentProject := GetActiveProject();
  currentProject.AddFile('MyUnit.pas', True);

Вы можете проверить исходный код GExperts, потому что он содержит класс (TUsesManager), который может анализировать единицы и изменять условие использования.

Зайдите в Проект> Параметры Eurekalog и отключите Eurekalog.

Странный.

Я использовал для установки моего dpr по умолчанию, чтобы он содержал почти ничего, в результате мой набор инструментов был очень пуст. Так что, если он был в моем наборе инструментов, он был в dpr - с чем у вас проблемы - обычно, если он находится в наборе инструментов, его уже в dpr.

Другие вопросы по тегам