AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 15.02.2011, 17:16   #1  
jopagames2 is offline
jopagames2
Участник
 
151 / 11 (1) +
Регистрация: 11.02.2010
Привет всем.

А никто не интересовался, как устроен clipboard и почему даже самые простые объекты нельзя быстро перенести из 3.70 в 2009?
При обычном копировать-вставить из Навижн почти все внешние клипбоард-вьюеры выуживают только текстовую информацию.

Но если я копирую, к примеру, сразу целый объект, то где он весь хранится (вместе со всеми переменными и исходным кодом)? Как мне его посмотреть\поредактировать?

Возможно, есть какой-то хитрый HEX-редактор для клипборда, позволяющий это сделать.
Или он это хранит где-то вообще в другом месте? (во временном файле, к примеру)

Подскажите, кто знает.
Старый 16.02.2011, 10:44   #2  
Alterant is offline
Alterant
Участник
 
378 / 10 (1) +
Регистрация: 31.03.2004
Здесь:
http://msdn.microsoft.com/en-us/libr...=VS.85%29.aspx

Насколько я знаю, в буфер обмена данные копируются сразу в нескольких форматах, с указанием этого самого формата. Дальше программа, которая принимает данные, смотрит какие из них она поддерживает и предлагает пользователю выбрать (как при спец. вставке в office), или вставляет какой-то формат по умолчанию (как при обычной вставке).
Старый 16.02.2011, 13:01   #3  
jopagames2 is offline
jopagames2
Участник
 
151 / 11 (1) +
Регистрация: 11.02.2010
Цитата:
Сообщение от Alterant Посмотреть сообщение
Здесь:
Насколько я знаю, в буфер обмена данные копируются сразу в нескольких форматах, с указанием этого самого формата. Дальше программа, которая принимает данные, смотрит какие из них она поддерживает...
Спасибо за ликбез по клипбордам. Прочитал.

Мой вопрос был немного в другом:

Почему из старого 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-файла, поскольку исправлять они его так просто тоже не дают)

Вот, собственно, и вся история.
Привет Мелкософту и его неутомимым дегенератам маркетологам!
Старый 16.02.2011, 13:28   #4  
Fordewind is offline
Fordewind
Участник
 
1,134 / 10 (3) +
Регистрация: 01.12.2005
Цитата:
Сообщение от jopagames2 Посмотреть сообщение
Цитата:
Сообщение от Alterant Посмотреть сообщение
Здесь:
Насколько я знаю, в буфер обмена данные копируются сразу в нескольких форматах, с указанием этого самого формата. Дальше программа, которая принимает данные, смотрит какие из них она поддерживает...
Спасибо за ликбез по клипбордам. Прочитал.

Мой вопрос был немного в другом:

Почему из старого 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-файла, поскольку исправлять они его так просто тоже не дают)

Вот, собственно, и вся история.
Привет Мелкософту и его неутомимым дегенератам маркетологам!
Респект!

А можно поподробнее для тупых, как пересчитывать CRC-сумму?
Старый 16.02.2011, 17:13   #5  
DA_NEAL is offline
DA_NEAL
Участник
Аватар для DA_NEAL
Лучший по профессии 2017
Лучший по профессии 2009
 
788 / 54 (3) ++++
Регистрация: 05.08.2002
Адрес: Королев
Да да, механихм пересчета CRC в студию!
__________________
Want to believe...
Старый 17.02.2011, 16:00   #6  
jopagames2 is offline
jopagames2
Участник
 
151 / 11 (1) +
Регистрация: 11.02.2010
Цитата:
Сообщение от DA_NEAL Посмотреть сообщение
Да да, механихм пересчета CRC в студию!
Вообще, если честно, механизм досконально я не разбирал - лениво было
Я просто EXE-файл от 2009 пропатчил, чтобы он на несоответствие CRC не ругался. Вообще никогда.

Если Маззи не против, и не сочтёт это запрещённой на форуме "попыткой взлома секретов Мелкософта", то расскажу в каком месте джампик на нопик заменить.
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 07:16.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.