Вверх ↑
Ответов: 9906
Рейтинг: 351
#1: 2008-01-10 17:18:38 ЛС | профиль | цитата
nesco писал(а):
Тут надо кодировки смотреть в Share

Причем здесь share
Вот это:

#sha
Add(MainForm,1266759,266,140)
{
Left=10
Top=10
Position=1
}
Add(Button,14537869,140,140)
{
Left=140
Top=140
link(onClick,7326480:doExecute,[])
}
Add(ODialog,7326480,196,140)
{
link(onExecute,1266759:doCaption,[])
}
Нормально читает русские имена файлов под FPC
Надо смотреть не share, тип для wName -- это wideString
Поэтому ставятся неявные преобразователи типов
При этом в Дельфях используется 3-я локаль (локаль текущего потока), а какая в FPC - не разбирался (ну их нафиг)

Случай типовой - ключница водку делала
В таких случаях я просто "инлайнил" Дельфячий код, после этого оно начинает работать одинаково.
Так я поступил в Random, и в примере из Этого топика (внимание возвращаемся к нашим баранам )

У меня правда (как уже сейчас вижу) наоборот было: из юникода ansi вытаскивался...
Но смысл тот же: читай MSDN про MultiByteToWideChar (у меня был WideCharToMultiByte) и юзай его с 3-й локалью
Я же не просто так в этом топике про твои заморочки вспомнил...
карма: 9

0