Форум: "Начинающим";
Текущий архив: 2009.03.01;
Скачать: [xml.tar.bz2];
ВнизОграничение длины строки для посылки в сообщении Найти похожие ветки
← →
Psycho © (2009-01-17 19:32) [0]При посылке Юникод-строки через
SendMessage(FindWindow(...), WM_COPYDATA, 0, LParam(@TCopyDataStruct))
доходит (извлекается путёмPChar(PCopyDataStruct.lpData)
) только часть строки: последние пара десятков символов или обрезаны, или заменены иероглифами. Что-то не поддерживает Юникод?
Delphi 2009, Windows Vista
← →
Сергей М. © (2009-01-17 19:43) [1]Какое отношение сообщение WM_COPYDATA (и механизм его работы) имеет к Юникоду ?
Никакого.
Вопросы ?
← →
Psycho © (2009-01-17 19:46) [2]ну может LParam?..
← →
Сергей М. © (2009-01-17 21:12) [3]Не угадал.
← →
Psycho © (2009-01-17 21:37) [4]а что тогда? где могут теряться данные?
← →
Сергей М. © (2009-01-17 22:10) [5]В голове.
Твоей.
← →
Psycho © (2009-01-17 23:03) [6]ок. какие?
← →
Сергей М. © (2009-01-17 23:14) [7]Любые.
← →
Psycho © (2009-01-17 23:25) [8]эх. ну подождём других мнений...
← →
Сергей М. © (2009-01-17 23:32) [9]
> извлекается путём PChar
Этот путь, наверно, большевики протоптали.
← →
Psycho © (2009-01-17 23:34) [10]а как правильно по фене?
← →
Юрий Зотов © (2009-01-18 00:49) [11]> Psycho © (17.01.09 19:32)
1. Сообщение WM_COPYDATA передает указанное количество байт по указанному адресу, и все. Что именно там содержится, строка unicode или еще что - ему это глубоко фиолетово.
2. Если строка обрезается, то либо на стороне передатчика Вы неверно заполняете структуру COPYDATASTRUCT (показывайте код заполнения), либо на стороне приемника неверно ее интерпретируете (например, почему Вы используете приведение к PChar для строки unicode?).
← →
Германн © (2009-01-18 01:58) [12]
> Psycho © (17.01.09 23:34) [10]
>
> а как правильно по фене?
>
Это запрещено правилами форума!
:)
Ты бы лучше включил бы мозги, чем "форсить" на форуме.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2009.03.01;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.004 c