SASGIS - SAS.Планета | |||||
View Issue Details | |||||
ID | Project | Category | View Status | Date Submitted | Last Update |
0001808 | SAS.Планета | [All Projects] Баг | public | 03-02-2013 20:01 | 03-02-2013 20:01 |
Reporter | vasketsov | ||||
Assigned To | vdemidov | ||||
Priority | normal | Severity | minor | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Platform | Windows | OS | Vista | OS Version | Ultimate |
Product Version | 110418 | ||||
Target Version | 131111 | Fixed in Version | 131111 | ||
Summary | 0001808: При ошибке доступа к прокси, ошибка в обработке ошибки для случая URL с символами процента (kosmosnimki) | ||||
Description | Описание (чего я написал vdemidov-у): В строке 350 в даунлоадере (при невозможности подключения к локальному прокси) BuildLoadErrorByUnknownReason зовётся без параметров []. Текст исключения типа: 'Не удается установить связь с сервером - URL:http://127.0.0.1:6666/TileSender.ashx?ModeKey=tile&MapName=1D30C72D02914C5FB90D1D448159CAB6&LayerName=C9458F2DCB754CEEACC54216C7D1EB0A&key=Ziu6TPYb5bPGbzlMGJvEZW9aC%2BYgOPqEXyTtc%2FFzrigkewPGSWWdyNRVV3hxbKprIr1J7K8jXKpeEuTkmomVn1AUbkLajGQDqsAnKntbkhDtmVuIYVdBKwH%2Br%2BDot55QmYj4wsQcst33J4zRjQlbGg%3D%3D&x=29&y=49&z=8' Как видишь - в УРЛе есть проценты. Так вот лишние проценты и стреляют. При любом количестве аргументов всегда может быть УРЛ, где будет больше процентов. Варианта принципиально тут два, либо сам УРЛ в итоге пропихивать как аргумент через %s (и тянуть с самого места возникновения текст и аргументы), либо конкретно для этого вызова проверить наличие параметров: if Length(FErrorTextArgs)>0 then Я в итоге добавил второй вариант, но лишь бы не вставало лишний раз при отладке. Гарантии, как сейчас сделано (2 разнесённых вызова Format), что всегда будет работать - никакой (как только до второго формата УРЛ попадает в строку). Поэтому и сделал, что при except просто покажется оригинальный текст. Ещё раз обращаю внимание, что если кинуть исключение оттуда - на тайле вообще ничего не покажется (если скачивать по одному тайлу кликом). Что самый наихудший вариант. Поэтому основная предпосылка - оттуда нельзя кидать исключения. Поэтому except там должен быть в любой версии, а не только в дебажной. | ||||
Steps To Reproduce | Для URL с символами % указать например недоступный локальный адрес и порт. В моём случае я просто забыл поднять локальный перловый прокси-сервер. Ну и ткнуться мышой скачать один тайл. Под отладчиком всё отлично видно )) | ||||
Additional Information | |||||
Tags | No tags attached. | ||||
Relationships | |||||
Attached Files | |||||
Issue History | |||||
Date Modified | Username | Field | Change | ||
03-02-2013 20:01 | vasketsov | New Issue | |||
03-02-2013 20:01 | vasketsov | Status | new => assigned | ||
03-02-2013 20:01 | vasketsov | Assigned To | => vdemidov | ||
03-02-2013 20:01 | vasketsov | Status | assigned => resolved | ||
03-02-2013 20:01 | vasketsov | Fixed in Version | => 131111 | ||
03-02-2013 20:01 | vasketsov | Resolution | open => fixed |
There are no notes attached to this issue. |