Конференция "KOL" » MCK теперь и для Lazarus
 
  • Yury Sidorov (04.06.07 21:33) [80]

    > Э-э... Начинаю путаться. Что качать, ставить, и откуда.
    > И лучше весь комплект (fpc+lazarus+crossbuild+kol).

    Можешь руками поправить WIN32_FIND_DATAW на WIN32_FIND_DATA в 2х местах где ошибки и закоментарить строчки с GetDriveType и SetErrorMode.
  • MTsv DN © (06.06.07 08:44) [81]
    Обновление на http://www.kolnmck.ru/ (KOLnMCK-CE Rev.92 от 06.06.2007)
  • Yury Sidorov (06.06.07 11:18) [82]

    > Обновление на http://www.kolnmck.ru/ (KOLnMCK-CE Rev.92
    > от 06.06.2007)

    В описании на сайте допиши, что KOLnMCK-CE предназначен для создания програм как для WinCE (PocketPC) так и Win32.
  • MTsv DN © (06.06.07 12:07) [83]
    OK
  • D[u]fa © (06.06.07 18:09) [84]
    >WinCE (PocketPC)

    хм.. даже так, купить кпк что ли %)
  • Zoom Evstrahiev © (06.06.07 20:14) [85]
    Обновил, установил, подправил WIN32_FIND_DATAW на WIN32_FIND_DATA.
    Такая ошибка:

    Compiling resource C:\lazarus\kolce\kol\KOL-CE.rc
    c:\lazarus\fpc\2.1.5\bin\i386-win32\arm-wince-windres.exe: no resources
    C:\lazarus\kolce\kol\KOL.pas(55578) Error: Error while linking
    Fatal: Compilation aborted
  • Yury Sidorov (09.06.07 02:34) [86]
    Нужно включить опцию компилятора -va
    Затем скопировать все сообщения "all and hidden" в клипбоард и вставить в блокнот. По тексту смотреть чем вызвана ошибка.
  • mdw © (20.07.07 16:01) [87]
    Немного не по теме, но подскажите где в Lazarus можно глобально указать пути к библиотекам и inc-файлам. Аналогично делфи Tools|Environment Options|Library -> Library path. А то прописывать каждый раз в опциях проекта геморойно, а как глобально задать не пойму.
  • mdw © (24.07.07 20:52) [88]
    Попробовал KOL-CE + Лазарус. Впечатления вполне, даже адаптировал несколько компонент... Но неожиданно столкнулся с такой проблемой. Не могу вывести ни слова на русском. Подскажите, пожалуйста в что я делаю не так и вообще возможно ли использовование русского на данный момент?
    Использую:
    Lazarus-0.9.23-fpc-2.1.5-20070719-win32 + Lazarus-0.9.23-fpc-2.1.5-20070704-cross-arm-wince-win32
    KOL-CE сегодня скачал r.129
    Опции компилятора: -dUNICODE_CTRLS -dKOL_MCK

    Пробовал просто проект делать под СЕ, все нормально русский есть, а вот с кол не выходит... Подскажите пожалуйста где туплю?
  • Yury Sidorov (24.07.07 21:51) [89]
    Действительно, на данный момент есть проблема с русскими буквами при использовании UNICODE_CTRLS.

    Варианты решения:
    1. Использовать resourcestring для всего текста (Localizy:=True).
    2. Не использовать UNICODE_CTRLS.
  • SiNiK © (24.07.07 22:08) [90]
    Выложите плиз полный, нужный архив для компиляции KolCE... Заранее спасибо
  • mdw © (25.07.07 10:12) [91]

    > Действительно, на данный момент есть проблема с русскими
    > буквами при использовании UNICODE_CTRLS.Варианты решения:
    > 1. Использовать resourcestring для всего текста (Localizy:
    > =True).
    2. Не использовать UNICODE_CTRLS.

    Да, resourcestring помогает. Но ведь нужно еще и динамический текст выводить...
    А вот НЕ использовать UNICODE_CTRLS не помогает, собственно, я и подключал только из-за проблем с русским, думал поможет... Кстати а в чем причина такого поведения, почему resourcestring работает, а просто строчки нет?
  • mdw © (25.07.07 10:12) [92]

    > Выложите плиз полный, нужный архив для компиляции KolCE.
    > .. Заранее спасибо

    Так лежит же на http://www.kolnmck.ru/
  • mdw © (25.07.07 18:17) [93]
    После нескольких дней изучения появилось некоторые мысли. Касается только WinCE, под Win32 вроде нормально все.
    1. Небольшое исправление в MCK. Модуль mckObjs.pas. Предлагаю изменить:
    uses Windows, Messages, KOL, Classes, Forms, Controls, Dialogs, extctrls,
        stdctrls, comctrls, SysUtils, Graphics, mirror, {$IFNDEF WINCE}ShellAPI,{$ENDIF WINCE}....
    Иначе при генерации события OnTimer для Timer'а возникает ошибка не найден  ShellAPI, и соответственно событие не генерится.
    2. Zoom Evstrahiev уже писал про ошибку связанную с KOL-CE.rc. У меня тоже самое, победить так и не смог, пока закоментировал строку {$R KOL-CE.rc}. Вот что пишет компилятор:
    [1.234] Searching file C:\LANGUAGE\lazarus\KOL\kol\KOL-CE.rc... found
    windres... not found
    windres... not found
    windres... found
    [1.234] Compiling resource C:\LANGUAGE\lazarus\KOL\kol\KOL-CE.rc
    windres" with "--include C:\LANGUAGE\lazarus\fpc\2.1.5\bin\i386-win32\ -O res -o C:\LANGUAGE\lazarus\KOL\kol\KOL-CE.res C:\LANGUAGE\lazarus\KOL\kol\KOL-CE.rc --i
    windres: no resources
    [1.281] Error while linking
    [1.281] There were 1 errors compiling module, stopping
    [1.344] Compilation aborted
    Error: C:\LANGUAGE\lazarus\fpc\2.1.5\bin\i386-win32\ppcrossarm.exe returned an error exitcode (normal if you did not specify a source file to be compiled)

    3. Еще раз вернусь к проблеме с русским (и не только) текстом.
    В общем посмотрел что получается, изложу коротенько, дабы если кому интересно будет не ковыряться еще раз. В СЕ При присваивании, например, Button1.Caption:= 'йй'; Должно присваиваться: #9#4#9#4#0#0 (39 04 39 04 00 00). Реально же присваивается 'й'#0'й'#0#0#0 (E9 00 E9 00 00 00). Т.е. вместо преобразования строки в unicode происходит дополнение каждого символа вторым нулевым байтом.

    Пока что я слепил вот такую функцию:
    function Ansi2Wide(S: AnsiString): WideString;
    begin    
     Result:= S;
    end;
    и конструкция типа:
       Button1.Caption:= Ansi2Wide('йй');
    успешно работает.
    Но это не есть хорошо. Преобразование выполнять нужно на уровне компилятора что ли?
  • Yury Sidorov (25.07.07 23:17) [94]

    > Да, resourcestring помогает. Но ведь нужно еще и динамический
    > текст выводить...
    > А вот НЕ использовать UNICODE_CTRLS не помогает, собственно,
    >  я и подключал только из-за проблем с русским, думал поможет.
    > .. Кстати а в чем причина такого поведения, почему resourcestring
    > работает, а просто строчки нет?


    Для wince UNICODE_CTRLS включены всегда и выключить нельзя. Я имел в виду при компиляции под win32 не использование UNICODE_CTRLS помогает.
    Динамический текст в принципе можно тоже через resourcestring делать.

    Причина проблемы в том, что FPC 2.1.5 (и ранние версии) не понимает кодировку 1251 при переводе из ANSI в WIDE. Поддержка кодировки 1251 есть в 2.3.1, но 2.1.5 уже давно закрыт для добавления новых фичей...
    resourcestring в FPC хранятся в ANSI кодировке и преобразование в WIDE происходит уже во время работы программы.

    Можно было бы набирать текст программы в utf-8, но редактор Lazarus не понимает utf-8.
  • Yury Sidorov (25.07.07 23:28) [95]
    1. Проблему с ShellAPI исправил.
    2. Насчет windres. Вообще-то должен вызываться arm-wince-windres.exe
  • mdw © (26.07.07 14:44) [96]

    >  Поддержка кодировки 1251 есть в 2.3.1, но 2.1.5 уже давно
    > закрыт для добавления новых фичей...

    т.е. стоит просто подождать новой версии?
  • Yury Sidorov (26.07.07 16:42) [97]
    В релизе 2.2 поддержки ср1251 не будет. Думаю будет в 2.2.2. Так что это дело не ближайшего будущего.

    Сейчас можно пользоваться нестабильной версией 2.3.1 если очень нужно...
  • Yury Sidorov (26.07.07 17:12) [98]
    Насчет ошибки при компиляции ресурсов. windres не любит путей с пробелами. Поэтому нужно чтобы не было пробелов во всех путях.
  • mdw © (26.07.07 19:37) [99]
    Да у меня пробелов и нет. А если чем нибудь другим компильнуть этот файл и уже компилированный цепануть, покатит?
 
Конференция "KOL" » MCK теперь и для Lazarus
Есть новые Нет новых   [134431   +15][b:0.001][p:0.001]