Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.08;
Скачать: CL | DM;

Вниз

RXRichEdit   Найти похожие ветки 

 
Мыш ©   (2003-04-25 14:09) [0]

Товарищи, я уже замучился совсем с этим RXRichEdit, глючит мерзавец, спасу нет. Дело в том, что при копировании в буфер обмена, текст уничтожается, заменяясь на знаки вопроса. Причем происходит это не всегда, а в зависимости от какого-то непонятного условия, подозрения имеются насчет сочетания параметров форматирования абзаца. Помогите, pls!


 
Morisson   (2003-04-25 14:41) [1]

Друг! Это не RXRichEdit лично - это Window"ая библиотека riched20.dll глючит, которую компонент использует.
Дело это лечится так: перед тем, как считать в буфер, переключи раскладку с нерусской на русскую. Вот примерный код:


var
russian, another: HKL;
pLayoutName:PChar;
returnlayout:boolean;
...
begin
...
// перед помещением в буфер

GetMem(pLayoutName,KL_NAMELENGTH);
try
if not GetKeyboardLayoutName(pLayoutName) then
Raise Exception.Create("Ошибка блаблабла");
if pLayoutName<>"00000419"
then begin
// значит раскладка нерусской была
another:=LoadKeyboardLayout(pLayoutName,0);
russian:=LoadKeyboardLayout("00000419",0);
ActivateKeyboardLayout(russian,0);
returnlayout:=true;
end;
finally
FreeMem(pLayoutName);
end;
// помещаем в буфер или читаем текст
...
// возращаем раскладку на место
if returnlayout then ActivateKeyboardLayout(another,0);
...


должно помочь


 
Мыш ©   (2003-04-25 18:00) [2]

Не помогает :(


 
Мыш ©   (2003-04-25 22:04) [3]

Если я это не исправлю, последние два месяца моей жизни потеряют смысл...



Страницы: 1 вся ветка

Текущий архив: 2003.05.08;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.026 c
6-23254
Fixxxer
2003-03-06 02:03
2003.05.08
Как узнать какая винда стоит на другой машине в локалке


1-23186
Timer
2003-04-23 20:13
2003.05.08
Символы в RXRichEdit


3-22919
Delphinium
2003-04-19 08:10
2003.05.08
Инкрементное поле в Access


3-23029
Vertx
2003-04-17 19:56
2003.05.08
Ошибка в ADOTable


3-23022
Dush
2003-04-18 12:01
2003.05.08
Update faild