Я использую пакет DragDrop от Anders Melander.
Он отлично работает в режиме Win32, но требует регулировки для 64 бит.
Я делаю это, добавляя {$IFNDEF CPUX64}
, чтобы прокомментировать ссылки на designIDE.Могу ли я сделать условие `require` в пакете условным?
Однако при изменении источника пакетов из
requires
rtl,
DesignIDE;
в
requires
rtl
{$IFNDEF CPUX64} ,DesignIDE{$ENDIF};
Компилятор просто выбрасывает DesignIDE линию источника пакета, оставив только:
requires
rtl;
Что отлично подходит для X64, но ломается, как только я перестроен для 32-битного.
Есть ли способ иметь один пакет, включая элементы времени разработки для win32 с конфликтующими элементами IFDEF'ed для X64? Или я вынужден создать отдельный пакет Runtime для X64?
Правила понятны. Пакеты времени разработки отделены от пакетов времени исполнения. –
Старый трюк - отредактируйте свой пакет за пределами IDE, а когда впоследствии IDE попросит сохранить пакет, всегда говорите «Нет». – kludg
Если код Андерса требует пакета 'DesignIDE' в ** пакете ** ** (и я был бы очень удивлен, если он это сделал), то его код не будет должным образом разделен. «DesignIDE» можно использовать только в пакете «** designtime only **». Он не может использоваться в пакете ** ** только при запуске ** или в смешанном пакете «** designtime и runtime **». Код времени разработки не разрешен во время выполнения пакетов. –