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