SASGIS - SAS.Планета
View Issue Details
0001178SAS.Планета[All Projects] Багpublic17-02-2012 13:4810-10-2012 11:48
vasketsov 
vasketsov 
lowminorrandom
closedfixed 
WindowsVistaUltimate
.Nightly 
120808120808 
0001178: Библиотека xerces требует какую-то DLL (выдаётся соообщение), но работает и без неё
При парсинге xml через провайдера xmldom для xerces выдаётся сообщение типа прога не смога найти либу cc3260mt.dll, надо установить по новой, жми ОК.
При этом после закрытия окна всё отлично работает и парсится.

После посиделок выяснилось, то косячит сама библиотека провайдера. Зачем-то ей требуется совершенно ненужный для работы парсера борландовский рантайм, который и лежит внутри cc3260mt.dll). При этом окошко в лучших традициях вылазит внутри вызова LoadDLL, а сам результат вызова потом говорит об обсутствии ошибки. Зачем надо было кому-то грузить рантайм - ума не приложу, даже идей нет. Да что там говорить - сама среда разраотки пока грузится, четырежды сказала мное что надо бы вернуть библиотеки райтайма в System32. Но при этом успешно загрузилась, зануда.

На сей счёт есть функции GetErrorMode и SetErrorMode. Правда именно их спользовать некошерно. Основная причина - наличие их только начиная с Vista. Поэтому пришлось сделать без них (на аналоге), работать будет начиная с NT сборки 1381 (это NT4), а может и раньше. И только для xerces (лечим только больных). И только очень локально по месту и времени. Ибо сильно серьёзная гильотина для резки тупых и ненужных ошибок.

Разработчикам напоминание обновить vsagps, изменения в файле PUBLIC/vsagps_public_xml_dom.pas.
глюк в библиотеке
related to 0001082closed Tolik Проблемы импорта меток 
related to 0000883closed vasketsov Получение даты снимка с сервисов virtualearth.net и nokia map creator (окошко доступных снимков) 
Issue History
17-02-2012 13:48vasketsovNew Issue
17-02-2012 13:51vasketsovStatusnew => resolved
17-02-2012 13:51vasketsovFixed in Version => 120808
17-02-2012 13:51vasketsovResolutionopen => fixed
17-02-2012 13:51vasketsovAssigned To => vasketsov
17-02-2012 14:54TolikNote Added: 0005556
17-02-2012 14:55TolikRelationship addedrelated to 0001082
17-02-2012 14:55TolikRelationship addedrelated to 0000883
17-02-2012 15:46TolikTarget Version => 120808
17-02-2012 16:13vasketsovNote Added: 0005559
17-02-2012 16:18vasketsovNote Added: 0005560
25-02-2012 08:51TolikNote Added: 0005621
25-02-2012 08:55TolikNote Edited: 0005621bug_revision_view_page.php?bugnote_id=5621#r2833
25-02-2012 09:48vasketsovNote Added: 0005622
25-02-2012 19:20zedNote Added: 0005635
26-02-2012 04:05TolikNote Added: 0005649
29-02-2012 09:39gpsMaxTag Attached: глюк в библиотеке
10-10-2012 11:48TolikStatusresolved => closed

Notes
(0005556)
Tolik   
17-02-2012 14:54   
(потупив взор) А по-русски можно?

1. cc3260mt.dll можно удалять?
2. 0001082 можно закрывать с новым решением?
3. Решение войдёт в завтрашнюю сборку?
4. Серьёзная гильотина имеет побочные эффекты (в виде отрезания головы)?
(0005559)
vasketsov   
17-02-2012 16:13   
1. Ну если без неё работало и она добалена только для херсов - таки да.
2. То решение вполне корректное. У каждой баги свои даты, и при сборке промежуточных ночнушек (ну мало ли захочется конкретную ревизию собрать) решения будут разными. Так что ту беду решил Tolik и корректно, там ничего менять не надо имхо.
3. Ну по идее должно.
4. Серьёзная гильотина - буквально подавление некоторых критических ошибок в виде сообщений. Исчерпывающего перечня таких ошибок, которые раньше в момент загрузки херсов были бы окошками, а теперь будут выдаваться только в виде кода ошибки в приложение, нету. Не говоря уже о новых версиях виндов. И флаг подавления ошибок устанавливается на процесс целиком (поэтому он устанавливается кратковременно и после LoadLibrary тут же восстанавливается как было). С точки зрения логики приложения, если приложение корректно обрабатывает все коды ошибок, ничего не изменится. Но мало ли.
(0005560)
vasketsov   
17-02-2012 16:18   
На всякий случай ссылка на описание GetErrorMode.
http://msdn.microsoft.com/en-us/library/windows/desktop/ms679355(v=vs.85).aspx
Как видим, в 7-ке появилась пара GetThreadErrorMode/SetThreadErrorMode.
Но пока мне негде их потестить.
(0005621)
Tolik   
25-02-2012 08:51   
(edited on: 25-02-2012 08:55)
В версии 120225.5095 cc3260mt.dll всё ещё требуется.
И для импорта gpx, и для поиска снимков.
Проверял на старом ноутбуке XP SP2.

(0005622)
vasketsov   
25-02-2012 09:48   
Это просто изменения в репо ещё не пролетели.
(0005635)
zed   
25-02-2012 19:20   
Завтра должно быть ОК.
(0005649)
Tolik   
26-02-2012 04:05   
Да, сегодня ОК (120226.5096)