RxFPC + wince

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

MageSlayer
постоялец
Сообщения: 216
Зарегистрирован: 07.09.2006 12:30:44

RxFPC + wince

Сообщение MageSlayer »

Хай, all.

Прикрутил вот RxFPC для своего проекта под wince. Хочу поделиться одним багом ;). Для нормальной работы под ARM процессорами необходимо все записи (record) преобразовать в упакованные (packed record). Иначе вываливается исключение Bus align.

P.S. Пишу в расчете на то, что здесь часто появляется сам разрабочик RxFpc. Может закоммитит эти изменения в svn.
Аватара пользователя
alexs
долгожитель
Сообщения: 4069
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

где именно правил - diff предоставиш?
MageSlayer
постоялец
Сообщения: 216
Зарегистрирован: 07.09.2006 12:30:44

Сообщение MageSlayer »

Шустро ;).

Правил к сожалению не на последней версии из svn, а на 1.1.5.98.
Да и логики там нет. Просто взял да все record что были в библиотеке переправил на packed record.

Спасибо.
Аватара пользователя
alexs
долгожитель
Сообщения: 4069
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

ну попробую, тем более что надо заливать изменения с обработкой событий.
MageSlayer
постоялец
Сообщения: 216
Зарегистрирован: 07.09.2006 12:30:44

Сообщение MageSlayer »

Как закоммитишь, обязательно потестирую. Спасибо
Аватара пользователя
alexs
долгожитель
Сообщения: 4069
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

Пробуй
MageSlayer
постоялец
Сообщения: 216
Зарегистрирован: 07.09.2006 12:30:44

Сообщение MageSlayer »

Кстати - LM_CUTTOCLIP и LM_PASTEFROMCLIP похоже не переносимы между платформами. В под gtk2 не компилятся, в wince все ок. Вроде бы даже в LCL везде поправили на LM_CUT, LM_PASTE соответственно. Правда не уверен, особо не разбирался.

На всякий случай патч для этого дела:

Код: Выделить всё

=== modified file 'curredit.pas'
--- curredit.pas        2007-10-24 09:26:59 +0000
+++ curredit.pas        2008-03-19 08:29:17 +0000
@@ -52,7 +52,7 @@
     procedure WMExit(var Message: TLMExit); message LM_EXIT;
     procedure CMFontChanged(var Message: TLMessage); message CM_FONTCHANGED;
     procedure WMPaint(var Message: TLMPaint); message LM_PAINT;
-    procedure WMPaste(var Message: TLMessage); message LM_PASTEFROMCLIP;
+    procedure WMPaste(var Message: TLMessage); message LM_PASTE;
     procedure GetSel(var ASelStart: Integer; var SelStop: Integer);
     procedure DoEnter; override;
     procedure DoExit; override;

=== modified file 'dbdateedit.pas'
--- dbdateedit.pas      2008-02-21 11:51:39 +0000
+++ dbdateedit.pas      2008-03-19 08:26:51 +0000
@@ -32,8 +32,8 @@
     procedure EditingChange(Sender: TObject);
     procedure UpdateData(Sender:TObject);
     procedure CMExit(var Message:TLMessage); message CM_EXIT;
-    procedure LMCut(var Message: TLMessage); message LM_CUTTOCLIP;
-    procedure LMPaste(var Message: TLMessage); message LM_PASTEFROMCLIP;
+    procedure LMCut(var Message: TLMessage); message LM_CUT;
+    procedure LMPaste(var Message: TLMessage); message LM_PASTE;
     procedure KeyDown(var Key: Word; Shift: TShiftState); override;
     procedure Change; override;
     procedure Notification(AComponent: TComponent; Operation: TOperation); override;
@@ -70,8 +70,8 @@
     procedure EditingChange(Sender: TObject);
     procedure UpdateData(Sender:TObject);
     procedure CMExit(var Message:TLMessage); message CM_EXIT;
-    procedure LMCut(var Message: TLMessage); message LM_CUTTOCLIP;
-    procedure LMPaste(var Message: TLMessage); message LM_PASTEFROMCLIP;
+    procedure LMCut(var Message: TLMessage); message LM_CUT;
+    procedure LMPaste(var Message: TLMessage); message LM_PASTE;
     procedure KeyDown(var Key: Word; Shift: TShiftState); override;
     procedure Change; override;
     procedure Notification(AComponent: TComponent; Operation: TOperation); override;


По поводу packed record патча - вроде порядок, насколько мог протестировать. Пождем, что скажут бета-тестеры ;).
Аватара пользователя
alexs
долгожитель
Сообщения: 4069
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

я вкурсе - ещё не комител это в на CCR - у себя только исправил. Спасибо за напоминание
Аватара пользователя
Сергей Смирнов
энтузиаст
Сообщения: 595
Зарегистрирован: 28.04.2005 13:23:25
Откуда: Москва
Контактная информация:

Сообщение Сергей Смирнов »

alexs писал(а):я вкурсе - ещё не комител это в на CCR - у себя только исправил. Спасибо за напоминание

Уже и под виндой не компиляется :) .
Ты ещё не закомитил на CCR?
Аватара пользователя
alexs
долгожитель
Сообщения: 4069
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

Вроде всё туда уже выложил. Но проверю. Может ещё что-то забыл.
Аватара пользователя
Сергей Смирнов
энтузиаст
Сообщения: 595
Зарегистрирован: 28.04.2005 13:23:25
Откуда: Москва
Контактная информация:

Сообщение Сергей Смирнов »

alexs писал(а):Вроде всё туда уже выложил. Но проверю. Может ещё что-то забыл.
Не сочти за наглость, но ещё бы файловый релиз было бы неплохо :)
Аватара пользователя
alexs
долгожитель
Сообщения: 4069
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

Я просто жду выхода очередной версии лазаря. Но если очень хочется - то можно.
зафиксировал релиз в svn и выложил у себя на сайте http://alexs75.narod.ru/fpc/rxfpc/index.html
Аватара пользователя
Сергей Смирнов
энтузиаст
Сообщения: 595
Зарегистрирован: 28.04.2005 13:23:25
Откуда: Москва
Контактная информация:

Сообщение Сергей Смирнов »

alexs писал(а):Я просто жду выхода очередной версии лазаря. Но если очень хочется - то можно.
зафиксировал релиз в svn и выложил у себя на сайте http://alexs75.narod.ru/fpc/rxfpc/index.html
Да нет, не очень :)
Там всё равно пока проблемы с юникодом, так что юзать снапшоты проблематично.

Добавлено спустя 3 часа 19 минут 9 секунд:
Вот ведь ещё какая проблемка: сконвертил тут один небольшой проект в UTF8, всё вроде хорошо, но вот данные с сервака льются в RxDBGrid в WIN1251 и, естественно, не отображаются, т.к. сетка, по всей видимости, ждёт UTF8. Я понимаю, что логично, наверное, сконвертить и базу в юникод, но не уверен, что во-первых это поможет, а во-вторых не всегда такое вообще возможно. Как бы это дело разрулить?
Аватара пользователя
Attid
долгожитель
Сообщения: 2589
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E
Контактная информация:

Сообщение Attid »

Сергей Смирнов
ну дык при подключении гри что подключаешься с ЮТФ и сервер сам все сделает . ну эт если птичка ессно =)
Аватара пользователя
Сергей Смирнов
энтузиаст
Сообщения: 595
Зарегистрирован: 28.04.2005 13:23:25
Откуда: Москва
Контактная информация:

Сообщение Сергей Смирнов »

Attid писал(а):Сергей Смирнов
ну дык при подключении гри что подключаешься с ЮТФ и сервер сам все сделает . ну эт если птичка ессно =)
Слушай, а ведь и точно! Меня что-то заклинило, что это указание, какая кодовая страница используется на сервере, а не та, которую хочет клиент. Ну так получается, что в винде юникод вроде работает. Остаётся проверить в GTK1.
Ответить