Здравствуйте, Carc, Вы писали:
C>В ДЛЛ очень легко напороться на то что в ДЛЛ одна версия интерфейса, а в EXE уже другой код, который расчитан на другой UI. Причем это не то что бы "легко", а просто это уже со версии 0.00 build 2 начнется — проверено. И поймать это невозможно формальными методами (или по крайней мере весьма непросто). В DLL ресурс лежит под одним ID, а в коде обозначен другой. Причем ловить это можно только в runtime со 100% покрытием кода.
Возможно. В том числе элеменарным поиском по ID в коде. Зато когда всех переловишь, куда проще будет.
C>Но это еще не всё ((C) барон Мюнхаузен). Протестя одну ДЛЛ, это вообще ничего не значит с другой языковой ДЛЛ, можете начинать 100% покрытие кода в связке с другой ДЛЛ заново. C>Для большого проекта, да где еще не один язык это не приемлемо. Будем без конца гонять ДЛЛ, код вообще заморозится навсегда.
Если DLL однотипные (как и должно быть), проблем не будет.
В варианте с текстовым файлом ресурсов (каким впрочем и является RC-файл) есть такая закорюка. Пусть есть диалог. На диалоге есть строки. Строки переводятся. Одна и та же строка в разных языках будет иметь разную длину. Если диалоговый ресурс один, а строка в разных вариантах перевода имеет разную длину, она попросту может не уместиться на диалоге.