Spirit-1:
Softwarer
runtime packages - не есть хорошо, имхо. Это легко понять после того, как начинаешь распространять свои программы. Для не очень больших систем размер дистрибутива критичен.
Как правило, runtime packages позволяют резко уменьшить размер дистрибутива - если, конечно, речь идет о системе. Таскать в дистрибутиве три-четыре мегабайтных пакета намного дешевле, нежели по триста-четыреста килобайт кода в сорока-пятидесяти exe+dll. В том случае, о котором я говорил, размер дистрибутива в результате операции упал с тридцати с чем-то до примерно двенадцати мегабайт.
Безусловно, для небольших утилит runtime packages не нужны. Но и писать для них dll-ки также скорее вредно, даже если одна dll-ка используется в нескольких приложениях. Сравни, скажем (не поверишь, но числа не подбирал, старался заложить как раз довольно мягкий случай, всего с двумя dll, каждая из которых используется во всех трех приложениях и с большим собственным кодом в них):
Вариант без dll-ек:
Приложение1 (100Кб) Длл1 (50Кб) Длл2 (50Кб) СтандартныйКод(350Кб) = 550Кб
Приложение2 ---- аналогично -----
Приложение3 ---- аналогично -----
Итого: 1650Кб
Вариант с dll-ками:
Приложение1 (100Кб) СтандартныйКод (300Кб) = 400Кб
Приложение2 ---- аналогично ----
Приложение3 ---- аналогично ----
BORLNDMM.DLL (или как там его) - не помню сколько, допустим, 50Кб
Длл1 (50Кб) СтандартныйКод (250Кб) = 300Кб
Длл2 (50Кб) СтандартныйКод (200Кб) = 250Кб
Итого: 1800Кб.
И в любом случае, vcl-ные dll не предоставляют столько преимуществ, сколько требуют неудобств при подобной хакерской практике. Виндовые хуки, конечно, без них не работают.. но никто не мешает написать для них нормальную dll-ку, не использующую vcl и динамических типов данных.
Добавление от 23.03.2004 13:04:
t0lik:
SoftwarerПочему version-specific? Application и Screen всегда были и есть.

Были и есть. Но никто не гарантирует, что в любой следующей версии не понадобится дополнительных действий или наоборот - отсутствия каких-либо действий.
Собственно, даже есть пример - как это все будет работать с поддержкой нескольких мониторов, появившейся, кажется, в D6? Уверен, что ничего больше не придется копировать?
Обрати внимание, скажем, на первое письмо от Spirit-1 - от того, что нормально хакающий D5 код ты откомпилируешь под D7, он не перестанет компилиться, но возникнет более или менее скрытая проблема с непредсказуемым проявлением. Скажем, "Да, и ещё - для D6 и D7 есть проблемы с обработкой хинтов, возникающих в дочерних окнах" может означать access violation, вылетающий у тебя в коде в месте, где ты сам пытаешься сделать что-то с хинтами.