![]() |
#3 |
Участник
|
Цитата:
Мой вопрос был немного в другом: Почему из старого 3.70 в новый 2009 можно запросто скопировать, например, переменную или функцию, но нельзя скопировать наипростейшую кнопку [OK] в дизайнере форм. Т.е. совместимость объектов ЕСТЬ, но как-то НЕ ВЕЗДЕ и НЕ ВСЕГДА ![]() Да. Логично было бы предположить, что формат объектов несовместим. Но, что примечательно, через fobы-то всё работает и всё совместимо. Тогда можно было бы снова предположить, что 2009 при заргузке из fob-a программа что-то там "конвертирует" в свой более новый формат. Бред! Всё это бред, дорогие мои коллеги! Мелкософт тянет все свои форматы файлов ещё со времён Daamgard'a. Ничего он не перерабатывал и не собирается. Короче, прошлось разбираться самому. И что оказалось? Объекты не копируются из версии в версию из за-за... внимание... ИЗ-ЗА РЕБРЕНДИНГА!!! Большего кретинизма от Мелкософта я, честно говоря, не ожидал. При копировании объектов из ObjectDesigner'a в клипборд (а также кнопок на формах) программа гордо запихивает туда свою новую сигнатуру Microsoft. эта текстовая константа хранится в fin.stx 00110-00002-080-1: Запись Microsoft Business Solutions-Navision (это было в версии 3.70) 00110-00002-080-1: Запись Microsoft Dynamics NAV Classic (а это стало в версии 2009) и 00081-00013-080-1: Элементы Microsoft Business Solutions-Navision (это было в версии 3.70) 00081-00013-080-1: Элементы управления Microsoft Dynamics NAV Classic (а это стало в версии 2009) Вот эти-то ТЕКСТОВЫЕ строки Навижн и суёт в клипборд и тупо сравнивает данными из .stx Из-за них-то и возникает эдакая фальшивая "несовместимость объектов". В остальном же... все остальные данные в клипборде АБСОЛЮТНО ОДНИНАКОВЫЕ, кроме этого нового названия бренда. Честно?! Честно, мне глубоко наплевать, как называется продукт: MBS или Dynamix. Пусть этим занимаются маркетологи. Но! Когда я из-за этого не могу быстро скопировать кнопку - это раздражает. Поэтому, я в влез обычным текстовым редактором в .STX файлы от 3.70 и 2009 и заменил обе константы на ОДИНАКОВЫЕ: 00110-00002-080-1: Запись. Microsoft - MD!!! и 00081-00013-080-1: Элементы управления. LMD!!! И всё заработало! И теперь запросто вставляет целый объект куда угодно и откуда угодно! Ура!!! Победа! (ну, пришлось правда, пересчитывать ещё и CRC-сумму stx-файла, поскольку исправлять они его так просто тоже не дают) Вот, собственно, и вся история. Привет Мелкософту и его неутомимым |
|