2011-12-19 3 views
5

Есть ли способ рассказать о проекте Delphi, который создает DLL для использования в качестве хост-приложения исполняемого файла в том же каталоге, что и выходной каталог DLL, который строится?Приложение-приложение Delphi XE2 из выходного каталога

что-то вроде этого:

DLL host app Delphi - this does not work

Одна вещь, я использую вариант наборы с Delphi XE2, поэтому в dproj для DLL я строю, я даже не имеют DCC_ExeOutput каталог, не уверен, если это имеет значение.

Если учесть, что это серьезно разложит некоторые проблемы, которые мы столкнулись с попыткой переноса из VSS в SVN.

Кроме того, что вы называете $ (вещью)?

ответ

4

$(name) Все переменные среды. Я попытался установить приложение хоста к .\$(Platform)\$(Config)\Test.exe и получил сообщение об ошибке:

Could not find program, '.\%Platform%\%Config%\Test.exe'. 

Обратите внимание, как $(...) превращался в переменной окружения синтаксиса.

Я также попытался с $(systemdrive)\Test.exe и получил сообщение об ошибке:

Could not find program, 'C:\Test.exe'. 

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

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

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

+0

Да, все, что кажется правдой, но вы могли бы подумать, что я могу установить те, у которых были запланированные события сборки MSBuild. Таким образом, я мог бы сделать что-то вроде 'set outdir = .. \ debug \ final'. что, похоже, не хочет работать. Я мог сказать, что существует разница между переменными среды Delphi и переменными среды Windows, это просто неочевидно, когда каждый из них может быть вызван. –

+1

Моя ментальная модель заключается в том, что настройка хост-приложения применяется после сборки, поэтому все сборки vars больше не применяются. Но это просто догадки. И плагин IDE с использованием toolsapi может получить награды, особенно потому, что мы доказали, что env vars расширены. –