Notes |
|
|
Зачем там нетривиальное копирование массива вариантов? Не проще ли будет сразу делать Format? Производительность? |
|
|
|
Ага, причина вылета: в AErrorTextArgs сидит Item.VType = vtUnicodeString, который игнорируется CopyVarRec (вернее, копируется "как есть", без выделения памяти аналогично vtString, vtAnsiString, vtPChar, vtPWideChar и vtWideString). Соответственно, если исходное исключение (сообщение об ошибке) уже было удалено в момент вызова TDownloadResultError.GetErrorText, то указатели из копии FErrorTextArgs указывают в космос. Есть шанс что это сработает, если память от сообщения об ошибке ещё не была перезаписана. |
|
|
|
Это значит, что эта ошибка проявляется только на юникодной версии делфи. Раньше vtUnicodeString вообще не существовало. |
|
|
|
Нужно допиливать CopyVarRec |
|
|
|
Сейчас действительно проще было бы сразу сделать формат. Но не хочется делать форматирование и локализацию строки, которая теоретически вообще не понадобиться. Есть еще хотелки 0001339 и 0001918 |
|
|
|
https://bitbucket.org/sas_team/sas.planet.src/pull-requests/351/fixed-2781-unicodestring/diff |
|
|
|
Ага. Только пользуйся ребейзом и не делай ненужных мержей. |
|
|
|
Окей, в следующий раз.
А что за клиент вы используете для Windows? Я попробовал TortoiseHG - там есть Merge, а Rebase - только как дополнение. |
|
|
|
TortoiseHG
Rebase именно дополнение, но оно штатное и поддерживается TortoiseHG.
В простейшем варианте просто откат на нужную ревизию, а потом обновление файлов и новый коммит. А старый просто закрываете ветку. Делать новый клон репозитория необязательно. Загляните как Garl делает. Он у нас самый опытный по подготовке пул-реквестов. |
|
|
|
...а где это посмотреть?
Конкретно сейчас мне проще новый форк сделать, чем разбираться с тем, что я натворил :) |
|
|
|
https://bitbucket.org/sas_team/sas.planet.src/pull-requests/352/fixed-2781/diff |
|