View Issue Details

IDProjectCategoryView StatusLast Update
0002053SACS.ПланетаРефакторингpublic28-02-2014 10:52
Reportervasketsov Assigned Tovasketsov  
PriorityhighSeveritymajorReproducibilityN/A
Status resolvedResolutionfixed 
PlatformWindowsOSVistaOS VersionUltimate
Summary0002053: Поддержка XE2 внутри VSAGPS
DescriptionНеобходимо обеспечить поддержку XE2 внутри VSAGPS
TagsNo tags attached.

Relationships

related to 0001498 closedvasketsov SAS.Планета Подготовить vsagps для юникодных версий Delphi 

Activities

vdemidov

30-07-2013 08:18

manager   ~0012240

Это мысль хорошая, а то там из 600 варнингов SAS на VSAGPS приходится добрых пару сотен :)

vasketsov

30-07-2013 09:00

manager   ~0012241

Там всё просто на Ansi, исключая TStringList, вот и ругань.
Ну плюс deprecated Resume плюс deprecated GetLocaleFormatSettings плюс ещё по мелочи.

Отдельно надо будет думать, что делать с файловым экспортом и импортом, потому что в реальности в любой версии можно прочитать как обычный так и юникодный файл, и сохранять надо хз в каком виде (если для xml ещё заголовок есть, то как PLT и прочие в unicode будут себя вести и дальше жить, в том числе в другом софте - большой вопрос).

vdemidov

30-07-2013 09:39

manager   ~0012242

>Там всё просто на Ansi, исключая TStringList, вот и ругань.
Ага, все в анси, а для работы со строками используются IntToStr и тд. котрые расчитаны на обычные строки по крайней мере в XE2

plt без вариантов ansi, scv нужно детектить при чтении, а сохранять лучше в Ansi сохраняя старое поведение

vasketsov

30-07-2013 16:40

manager   ~0012243

Итак, первая и бОльшая часть сделана. Осталась вторая - сохранялка треков в файл (она в сас отсвечивает несильно, и изменений там много не вылезет).

По поводу импорта файлов (в т.ч. для режима полёта по треку):
а) файлы plt, nmea и garmin импортируются ТОЛЬКО как ANSI и никак иначе (если внезапно появится лог nmea или plt в UNICODE - будем решать проблемы по факту их возникновения);
б) kml и gpx импортируются парсером xml - а он всегда UNICODE (так что изменений в нём нет);
в) csv в vsagps мы не юзаем, так что IsTextUnicode путь юзают те, кто будет его править в сасе.

vasketsov

14-08-2013 20:39

manager   ~0012420

>сохранялка треков в файл
Возникла мысль. Может сделать просто настройку в сасе, в каком виде (Ansi или Wide) сохранять треки, если формат может быть разным (например, gpx может быть как UTF-8, так и UTF-16)?

А то что-то меня смущает автоматически переключаться в Unicode, если в писалку трека упадёт Unicode, и оставаться в Ansi, если данные будут падать только Ansi. По умолчанию можно даже сделать Ansi, пусть и с потерями будет.

Сейчас трек пишется в такие форматы:
TVSAGPS_TrackType = (ttPLT, ttGPX, ttNMEA, ttGarmin{, ttKML});
Последний закомментирован. Соответственно покуда не раскомментирован, настройка будет работать только для GPX (а PLT, NMEA и Garmin писать только в Ansi).

Мнения? Возражения? Другие варианты?

vdemidov

15-08-2013 05:23

manager   ~0012421

А может пусть всегда будет Ansi и фиг с ним? А для gpx пусть всегда будет UTF-8.

vasketsov

15-08-2013 07:55

manager   ~0012422

Ну можно и так конечно. А если некто откроет gpx в блокноте, поправит текст, пересохранит в UTF-16 и потом обломится при загрузке - то ССЗБ.
Формально если сделать всегда UTF-8 - получим максимально работающий с минимальными переделками вариант отосительно текущего.
зы. Кстати, ЕМНИП, чтобы считалось что прога умеет работать с GPX, нужна поддержка обоих (UTF-8 и UTF-16).А вообще можно же и в cp1251 сохранять, и в других.

vdemidov

15-08-2013 08:26

manager   ~0012423

Ну для чтения поддержка UTF-16 и тд. нужна, а вот для записи, вполне можно ограничиться UTF-8

vasketsov

15-08-2013 12:33

manager   ~0012440

Всё. По сабжу остались только Resume.

Issue History

Date Modified Username Field Change
30-07-2013 08:00 vasketsov New Issue
30-07-2013 08:00 vasketsov Assigned To => vasketsov
30-07-2013 08:00 vasketsov Status new => assigned
30-07-2013 08:10 vdemidov Relationship added related to 0001498
30-07-2013 08:18 vdemidov Note Added: 0012240
30-07-2013 09:00 vasketsov Note Added: 0012241
30-07-2013 09:39 vdemidov Note Added: 0012242
30-07-2013 16:40 vasketsov Note Added: 0012243
14-08-2013 20:39 vasketsov Note Added: 0012420
15-08-2013 05:23 vdemidov Note Added: 0012421
15-08-2013 07:55 vasketsov Note Added: 0012422
15-08-2013 08:26 vdemidov Note Added: 0012423
15-08-2013 12:33 vasketsov Note Added: 0012440
15-08-2013 12:33 vasketsov Status assigned => resolved
15-08-2013 12:33 vasketsov Resolution open => fixed