View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0001808SAS.Планета[All Projects] Багpublic03-02-2013 20:0103-02-2013 20:01
Reportervasketsov 
Assigned Tovdemidov 
PrioritynormalSeverityminorReproducibilityalways
StatusresolvedResolutionfixed 
PlatformWindowsOSVistaOS VersionUltimate
Product Version110418 
Target Version131111Fixed in Version131111 
Summary0001808: При ошибке доступа к прокси, ошибка в обработке ошибки для случая 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 с символами % указать например недоступный локальный адрес и порт. В моём случае я просто забыл поднять локальный перловый прокси-сервер. Ну и ткнуться мышой скачать один тайл. Под отладчиком всё отлично видно ))
TagsNo tags attached.
Attached Files

- Relationships

-  Notes
There are no notes attached to this issue.

- Users who viewed this issue
User List Anonymous (806x), sheavy (1x)
Total Views 807
Last View 28-01-2020 16:09

- 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



Copyright © 2007 - 2020 SAS.Planet Team