2012-05-10 1 views
4

Я хотел бы добавить файл dcu в проект перед его компиляцией. Я пытаюсь использовать OTA для этого. В IOTAProject У меня есть возможность добавить файл (AddFile()), но когда я пытаюсь добавить dcu, это не позволяет мне, и я должен установить файл как первый файл в моем проекте.Добавить файл dcu в проект перед компиляцией [OTA]

Я хотел бы, чтобы имитировать некоторые вещи, как:

------------------ Original project 
program Project1; 

uses 
    Forms, 
    Unit1 in 'Unit1.pas' {Form1}; 
etc... 

------------------- Before compile I intercept it and set 
program Project1; 

uses 
    MyDCU, //Add this 
    Forms, 
    Unit1 in 'Unit1.pas' {Form1}; 
etc... 

------------------ After compile remove and it came back to 
program Project1; 

uses 
    Forms, 
    Unit1 in 'Unit1.pas' {Form1}; 
etc... 

после/до компиляции перехвата не проблема IOTAIDENotifier дать мне необходимый интерфейс для работы с. Проблема заключается только в том, что файл dcu является первым файлом моего проекта.

Кто-нибудь может мне помочь? Tks

+0

У вас есть до и после параметров компиляции в вариантах проекта, что вы можете сделать, это вызвать приложение-утилиту, которое сделает именно это для вас. – ComputerSaysNo

+0

@ Dorin Duminica, я отредактировал мое сообщение. Tks к ответу. Но у меня нет проблем с компиляционным перехватом, проблема в dcu. –

+0

Я подумываю об изменении dpr как текстового файла, добавьте нужные вещи, сохраните, а после удаления и сохранения снова. Но я ищу решения, чтобы избежать этого. –

ответ

1

Поскольку OTA не предоставляет CodeDom (насколько я знаю), единственный шанс, как это сделать, - перехватить уведомление BeforeCompile, проанализировать файл проекта (версию IDE, а не файловую систему) и добавить его к предложению. Это сделано, поток обратно измененный контент в буфер IDE.

+0

Действительно, это механизм, используемый неиспользуемым экспертом DelFor для переформатирования кодов (включая PAS и DPR-файлы). – menjaraz