Вверх ↑
Ответов: 9906
Рейтинг: 351
#1: 2008-03-11 23:30:42 ЛС | профиль | цитата
tsdima писал(а):
Вывод - не моя

Ну ты даешь
Это кто писал
tsdima писал(а):
Судя по подчерку, я изменил OleStrToStrVar

Смотрим и видим:

#pas
procedure OleStrToStrVar(const strFrom:POleStr; var strTo:string);
var DestLen:integer;
begin
DestLen := WideCharToMultiByte(_P_, 0, strFrom, -1, nil, 0, nil, nil);
if DestLen=1 then strTo:=' else begin
SetLength(strTo, DestLen-1);
WideCharToMultiByte(_P_, 0, strFrom, -1, @strTo[1], DestLen-1, nil, nil);
end;
end;

И мое утверждение состоит в том, что должно быть _P_=3, а не нулю
А что после этого про FPC говорить...
Они - никсоиды, и имеют право не понимать особо тонкой разницы между CP_THREAD_ACP и CP_ACP, наверное

------------ Дoбавленo:

tsdima писал(а):
И ещё бага, вот исправленный вариант:

А чего не фиксишь
И, кстати говоря еще раз, кто будет класть "гранату" на место
Уж коль скоро в фиксе ты собираешься использовать StringToOleStr, который является конструктором...
Ноги за такие конструкторы отрывать надо, в т.ч. и авторам системного варианта этого безобразия
карма: 9

0