-
Параллельно с портированием KOL под WinCE, я портирую и MCK для Lazarus. MCK уже практически работает полностью. Взять можно из svn со страницы проекта: http://sourceforge.net/projects/kol-ce/KOL компилится и работает как для Win32, так и для WinCE. Т.е. теперь есть полный дельфонезависимый набор KOL/MCK. Для компиляции нужно использовать FPC 2.2. Для тех, кто не в курсе, уже появилась ветка FPC 2.2 и скоро будет первая бета. Взять сорцы можно через svn: http://svn.freepascal.org/svn/fpc/branches/fixes_2_2
-
> Взять можно из svn со страницы проекта: > http://sourceforge.net/projects/kol-ce/ > > KOL компилится и работает как для Win32, так и для WinCE. > Т.е. теперь есть полный дельфонезависимый набор KOL/MCK. > > > Для компиляции нужно использовать FPC 2.2. > Для тех, кто не в курсе, уже появилась ветка FPC 2.2 и скоро > будет первая бета. > Взять сорцы можно через svn: > http://svn.freepascal.org/svn/fpc/branches/fixes_2_2
А можно попросить архивом выложить, чтобы по SVN не лазить. Просто мне качают "по заказу", а там по SVN точно лазить не станут, там только линки прямые нужны...
-
И KOLnMCK и FP2.2 - естесссна...
-
-
Сорь за тупой вопрос, но:
1) А на основе какой версии KOL&MCK это сделано? 2) И почему не скооперироваться с самим автором KOL ?
З.Ы. на стабильном Lazarus под win32 - которая идет в инсталлере с оффсайта и в которой fpc 2.0.4 - оно точно не пойдет?
-
1) Сделано на основе версии 2.50 (руки не доходят обновить до текущей). 2) Скооперироваться можно будет позже, когда моя ветка будет 100% стабильно работать. 3) Можно брать снапшот Lazarus, но он должен быть основан на FPC 2.1 и выше. Такие снапшоты есть.
-
2 Yury Sidorov В общем, скачал я Lazarus-0.9.23-fpc-2.1.3-20070506-win32.exe, 59 ревизию KOLCE и все установил... KOLnМСК установился без проблем и заработал...однако... Я, конечно, знал, что exe-шник будет больше, чем при использовании Delphi...но размер в 1МБ меня разочаровал, может я что-то не так делаю...подскажите...
-
пустая форма без Kol там вообще 6 мб весит, но есть спец прога strip, которая уменьшит размер, но все равно до дельфовых далеко.
-
Ну, про обрезание релоков и перестройку секция, я в курсе... Однако, как оказалось дело немного в другом...
Чистая форма с использованием MCK получилась 1014831 байт. Далее делаем так , запускаем PEExplorer и удаляем две секции ".stab" и ".stabstr", файл сразу "худеет" до 83505 байт. А затем уже вполне можно strip'ом и секции перестроить и релоки с оверлеями удалить...в итоге, минимально получил 49186 байт. Что вполне соответствует KOL'овским размерам, если учесть, что используется PAS_VERSION.
-
Как заключение: Останется дождаться поддержки: ******************************************************* Known issus ===========
* The following components are not supported: RichEdit, OpenDirDialog, JustOne, TrayIcon. * Only gsVertical, gsHorizontal gradient panel styles are supported. ******************************************************* и перегонки версии 2.59 (будет время может сам займусь этим)...
-
> Ну, про обрезание релоков и перестройку секция, я в курсе...
ИМХО «strip» как раз на лазаря и заточена и как раз вот эти сами «.stab» и «.stabstr» кромсаетю
-
<<Ну, про обрезание релоков и перестройку секция, я в курсе... Однако, как оказалось дело немного в другом...
Если вы имеете ввиду stripreloc by Jordan Russell, то я не про него, а про strip, она вроде вместе с лазарусом идет.
-
MTsv DN: Known issues относятся к WinCE. Для Win32 работает все.
-
Чтобы экзешник получался правильного размера сразу нужно в опциях компилятора поставить птичку "Strip Symbols From Executable (-Xs)".
-
2 Yury Sidorov Респект, за пояснения...
Будет время займусь переделкой 2.60, если конечно ты не начал уже...
-
Переделку 2.60 делать не нужно. Нужно обновить то что есть до версии 2.60. Думаю на днях сделаю.
-
Просинхронизировал KOL-CE до версии 2.60.
-
Здравствуйте. Наконец-то появился КОЛ для Lazarus! Вот бы узнать, где последний скачать
-
-
-Куда идешь? -Укол делать. -А-а-а, в больницу? -Нет, в попу.
Я вообще-то спрашивал, где последний релиз KOL для Лазаруса, а не где сам Лазарус :с)
-
> Я вообще-то спрашивал, где последний релиз KOL для Лазаруса, > а не где сам Лазарус :с) Только на SVN. См. [0]
-
тогда слово 'последний' было лишним :) (оно ссылалось на последнее существительное, т.е. Lazarus)
-
2 Yury Sidorov Супер... Ну, теперь осталось написать "статейку" о переводе компонентов в Лазарус и прогу для конвертации проектов из Дельфи (внутренние средства Лазарус не катят :( )
-
Сторонние зеркальные компоненты скорее всего будут работать в Лазарусе без всяких модификаций.
Перевод Дельфового проекта нужно попробовать. Скорее всего нужно будет кое-что подправить для этого...
-
А какой, по большому, смысл в Лазарусе?
-
Кроссплатформенность и freeware (для тех кому принципиально нельзя использовать пиратскую копию Delphi)
-
В лазарусе большой смысл: я держу урезанную 70-мбтную Delphi-десятку, на которую компоненты не посадишь. Получается, для КОЛ надо еще и семерку держать, а это нудно. А без КОЛА плохо. И параллельно держу лазарус. В нем компонентов совсем мало, и поэтому туда очень удобно сажать комплекс КОЛ-компонентов :с)
-
Черт, да где ж он там есть-то, на SVN-то?
-
> Черт, да где ж он там есть-то, на SVN-то? https://kol-ce.svn.sourceforge.net/svnroot/kol-ce
Мне осталось тока с "черепашкой" разобраться 8)
> Сторонние зеркальные компоненты скорее всего будут работать в Лазарусе без всяких модификаций. Так ведь там надо вроде сам Лазарус пересобирать, для добавления в палитру...или нет???
> А какой, по большому, смысл в Лазарусе? Лично для меня, как уже было упомянуто, это Фриварность и Опенсурсность...и то что проект "скорее жив" по сравнению с Дельфи... Лично мне кажется, что Borland/CodeGear с жиру бесятся в последних версиях Дельфи...
-
> Мне осталось тока с "черепашкой" разобраться 8) Кстати, а это нормально, что у меня скорость на SVN ва-а-аще "никакая"?
-
> Кроссплатформенность и freeware Сомнительное преимущество по сравнению с багами.
> Лично мне кажется, что Borland/CodeGear с жиру > бесятся в последних версиях Дельфи... C жиру они стали беситься гораздо раньше - VCL.
-
>Сомнительное преимущество по сравнению с багами. Так ведь еще и не финал-релиз
-
А какой, по большому, смысл в Лазарусе?
Я затеял перевод МСК под Лазарус ради возможности нормально писать проги под PocketPC на KOL с использованием FPC. Здесь альтернативы в лице Дельфей нет...
А то, что можно использовать KOL&MCK в Лазарусе для разработки и Win32 приложений - это, так сказать, приятный бонус для KOL сообщества :)
Кстати, можно и порт KOL под Win64 сделать. Тут тоже Дельфи пролетает...
-
> > Сторонние зеркальные компоненты скорее всего будут работать в Лазарусе без всяких модификаций. > Так ведь там надо вроде сам Лазарус пересобирать, для добавления в палитру...или нет???
Это ж делается автоматом. Открываешь пакет с компонентами, жмешь инсталл и все что надо пересобирается и Лазарус автоматом перезапускается. После чего видишь компоненты на палитре.
Для сторонних МСК компонентов просто надо создать новый пакет и туда их подобавлять.
-
> А то, что можно использовать KOL&MCK в Лазарусе для разработки > и Win32 приложений - это, так сказать, приятный бонус для > KOL сообщества :)
Это конечно радует, но вот только какой в этом смысл - увеличиться размер программы и количество багов.
-
Это конечно радует, но вот только какой в этом смысл - увеличиться размер программы и количество багов.
Смысла особого нет, т.к. понятие "лицензионная чистота" в наших краях еще пока не распространено :)
-
> Смысла особого нет, т.к. понятие "лицензионная чистота" > в наших краях еще пока не распространено :)
Да и не только в наших:) Мне вообще кажется, что никто не спрашивает у разработчиков серийные номера компиляторов.
-
-
-
>:( Где Его Там СКАЧИВАТЬ??? Вот движок, блин, хрен поймешь. Где там архив с КОЛОМ для Лазаруса? No File Packages Defined
-
> >:( Где > Его > Там > СКАЧИВАТЬ??? Вот движок, блин, хрен поймешь. Где там архив > с КОЛОМ для Лазаруса? > No File Packages Definedhttp://www.hu.freepascal.org/lazarus/ - качаешь последний SnapShot для Лазаруса, а потом по SVN: https://kol-ce.svn.sourceforge.net/svnroot/kol-ce/trunk - последний KOL-CE. Мож попозже вывешу архивом на http://www.kolnmck.ru/
-
-
Перезалил KOL-CE. Rev.69 - "последняя"...
-
ДобавлениеОтдельный раздел пока не созданKOLCE-UpDown, KOLCE-DirTreeView, KOLCE-SATabs - "переделка" компонентов под Lazarus.(Переделал те компоненты, что используются у меня в проектах) http://www.kolnmck.ru
-
А пора бы. И со ссылкой, на которую можно направить народ, не бывающий на этом форуме. В частности, не читающий по-русски.
-
2 Yury SidorovЮрий, Думаю надо как-то связаться (по АСЬке или мылу), а то рабочие вопросы на форуме обсуждать, как-то не то... А пока: 1. Перевод визуальных компонентов действительно оказалось несложной задачей... 2. А вот с переводом проекта Delphi -> Lazarus оказалось посложнее...но тоже в большинстве стандартизировано...тем более, что конвертор присутствует в Лазарус. Однако ручками "поработать" тоже пришлось немало. В итоге...естесссссно, проект пока нерабочий, причин несколько: а) Строчка в Unit1_1.inc: Applet := Result.Form выдает ошибку типов TKOLApplet и PControl. б) Установка в inc-файле .SetAlign(...) ...как ta... , так и ca... , и va... тоже выдает ошибку типов. но это бы ладно...можно вручную отредактировать (хотя каждый раз неудобно), а вот: в) Использование ImageList с добавлением картинок выдает ошибку "Error while compiling" и все... Также не работает USE_NAMES и USE_MH_TOOLTIPS. Посмотрю, что смогу сам...хотя знаний по FPC\Lazarus пока мало...
-
> "переделка" компонентов под Lazarus.(Переделал те компоненты, > что используются у меня в проектах)
Я пробовал в свое время под лазарем Граши компилировать (не МСК конечно), помоему там всего парочка исправлений понадобилась, и то с 64-х разрадными числами при работе с ProgressBar, вот только включил я эти изменения в пакет или нет уже и не вспомню :)
-
> А пора бы. Сделаю, Владимир... Просто со временем пока напряг...
-
> Я пробовал в свое время под лазарем Граши компилировать > (не МСК конечно), помоему там всего парочка исправлений > понадобилась, и то с 64-х разрадными числами при работе > с ProgressBar, вот только включил я эти изменения в пакет > или нет уже и не вспомню :) Ща гляну...
-
> Ща гляну...
В общем-то "перегоняется". Вылетает одна единственная ошибка в tinyPng: LoadPalette
...
lea edi, TBITMAPINFO(edi).bmiColors не понимает что такое TBITMAPINFO(edi).bmiColors.
-
Наверое можно как-то смещение вручную задать. Наверное именно по той-же причине и не работает ASM версия самого КОЛ.
У меня кстати здесь еше экзешник лежит, еще с тех времен, «demoproject88.exe», дема из дистрибутива контроллов. Он вылетает при попытке нажать на кнопку «Transparent». Может это была ошибка компилятора, которую исправили. Если будет желание поставить клеше «Ready for Lazarus», надо еше этот глюк посмотреть (может правда он сам пропал в новых версиях).
-
> Мож попозже вывешу архивом на http://www.kolnmck.ru/Вывесил... Ну вот. Ну ведь можем же, когда захотим :с) А то не смотря что я и по-русски, и по укр., и по англ, и на pascale тоже мало-мало... А найти не мог.
-
> Ну вот. Ну ведь можем же, когда захотим Надо будет раздел отдельный сделать...эх, еще бы пару часов к суткам...
-
Всем привет...
> А вот с переводом проекта Delphi -> Lazarus оказалось посложнее. ..но тоже в большинстве стандартизировано...тем более, что конвертор присутствует в Лазарус. Однако ручками "поработать" тоже пришлось немало. В итоге...естесссссно, проект пока нерабочий Оказалось не просто посложнее, а полная....... И дело даже не в том, чтобы "перегнать" проект (там действительно используешь конвертер строк UNICODE->ANSI, потом конвертер Лазарус, немного редактируешь "шапку" pas-файлов и в принципе все), а в том, чтобы он после этого заработал как надо... Скомпилировать конвертированный проект получилось...но вот работает он не так как я привык...и причем видимых ошибок я не нашел...
Теперь о том, как разобрался с ошибками: > а) Строчка в Unit1_1.inc: Applet := Result.Form выдает ошибку > типов TKOLApplet и PControl. Здесь причину ошибки так и не понял, т.к. если проект делать сразу в Лазарусе, то эта строчка "прокатывает на ура"...а для решения достаточно бросить KOLApplet на форму.
> б) Установка в inc-файле .SetAlign(...) ...как ta..., так и ca..., и va... тоже выдает ошибку типов...но это бы ладно...можно вручную отредактировать (хотя каждый раз неудобно), Здесь пришлось править mirror.pas и пересобирать проект...
а вот: > в) Использование ImageList с добавлением картинок выдает ошибку "Error while linking" и все... Причиной послужило "кривая" сборка res-файла. Пересохранение в Restorator'е решает проблему...
> Также не работает USE_NAMES Здесь пришлось просто избавиться от самого use_names ("кривое" решение, но что-то посложнее выдумывать было лень)
и USE_MH_TOOLTIPS. Не разбирался...
-
ВЫВОД (сделал для себя): 1. KOLnMCK под Лазарус работает и практически завершен... 2. "Перегонка" компонентов, практически стандартная процедура, за редкими исключениями... 3. "Перегонка" большого проекта (а может и маленького) весьма трудоемкая задача и в итоге может получиться, совершенно не то, что ожидалось...
-
Юрий, Думаю надо как-то связаться (по АСЬке или мылу), а то рабочие вопросы на форуме обсуждать, как-то не то...
На почту пиши. Баги лучше всего регистрировать в багтрекере на sourceforge. А то забудутся :) Только что специально создал там "Русский баг трекер".
Перегонку проекта попробую.
> б) Установка в inc-файле .SetAlign(...) ...как ta..., так и ca..., и va... тоже выдает ошибку типов...но это бы ладно...можно вручную отредактировать (хотя каждый раз неудобно), Здесь пришлось править mirror.pas и пересобирать проект...
А вот здесь по подробнее можно?
Скомпилировать конвертированный проект получилось...но вот работает он не так как я привык...и причем видимых ошибок я не нашел...
И здесь тоже интересны подробности.
-
> На почту пиши. > Баги лучше всего регистрировать в багтрекере на sourceforge. > А то забудутся :) Только что специально создал там "Русский > баг трекер".
Лады
> > б) Установка в inc-файле .SetAlign(...) ...как ta..., > так и ca..., и va... тоже выдает ошибку типов...но это бы > ладно...можно вручную отредактировать (хотя каждый раз неудобно), > > Здесь пришлось править mirror.pas и пересобирать проект. > .. > > А вот здесь по подробнее можно?
"Пербдел" я... Это из-за "криво"-отредактированной "шапки" вылазило...
> Скомпилировать конвертированный проект получилось...но вот > работает он не так как я привык...и причем видимых ошибок > я не нашел... > > И здесь тоже интересны подробности.
А вот здесь мне тоже интересно... У меня проект даже до FormCreate не доходит, где-то вылетает... Трейсить по F8 пробовал, первая ошибка сразу же в "fpc_InitializeUnits". Вылетает окно "Project raised exception class 'External: SIGSEGV'", а за ним подряд еще 2: "Выполнение приостановлено. Адрес: 00000002, Проседура: ???, Файл:" и дальше ШИКАРНАЯ ФРАЗА: "Когда-нибудь здесь появится окно ассемблера..." 8)
-
> А вот здесь мне тоже интересно... У меня проект даже до > FormCreate не доходит, где-то вылетает... Трейсить по F8 > пробовал, первая ошибка сразу же в "fpc_InitializeUnits". > Вылетает окно "Project raised exception class 'External: > SIGSEGV'", а за ним подряд еще 2: "Выполнение приостановлено. > Адрес: 00000002, Проседура: ???, Файл:" и дальше ШИКАРНАЯ > ФРАЗА: "Когда-нибудь здесь появится окно ассемблера..." > 8)Дальше трейсер останавливается сам в процедуре: procedure MMTimerCallback(uTimerID, uMessage: UINT; dwUser, dw1, dw2: DWORD);
stdcall;
var MMTimer: PMMTimer;
begin
MMTimer := Pointer( dwUser );
if Assigned( MMTimer.FOnTimer ) then
MMTimer.fOnTimer( MMTimer ); <- ЗДЕСЬ
end; Причем тайтеры у меня Enabled := false ; И через некоторое число F8: "Отладка остановлена". Если запускать сам ехе-шник, то прорисовывается Главное окно, вылетает сообщение об ошибке в строке KOL.PAS №43528="MMTimer.fOnTimer( MMTimer );", жмешь на OK и..."пишите письма"...
-
И еще вопрос... Как использовать err.pas???
-
> И еще вопрос... Как использовать err.pas??? Сам подправил...
Вот еще что. Некоторые свойства не сохраняются. Например Visible...
-
Только что обнаружился баг в компиляторе, без правки которого МСК приложения работать не будут. Вследствие его и валится проект.
Обьяснять суть бага долго. Щас пытаюсь найти как его пофиксить. Если сам не смогу буду обращаться непосредственно к главным разработчикам компилятора...
Про несохранение свойств в багтрекер, пожалуйста.
-
> Про несохранение свойств в багтрекер, пожалуйста. Сделано. И не только про "несохранение"...
-
Баг в компиляторе исправлен в свн. Также пофиксил несколько багов в кол/мск. MTsv DN попробуй скомпилить свой большой проект использую компилятор из fixes_2_2. По идее теперь он должен запуститься :)
-
> Баг в компиляторе исправлен в свн. > Также пофиксил несколько багов в кол/мск. > MTsv DN попробуй скомпилить свой большой проект использую > компилятор из fixes_2_2. По идее теперь он должен запуститься > :)
Юр, я б с удовольствием, тока мне SVN по ЖПРСу качать, очень напряжно... Если я снаршот Lazarus-0.9.23-fpc-2.1.5-20070529-win32.exe качну намана будет?..
-
И еще вопрос: Как корректно работать с исключениями? err.pas подключаю, сразу ошибки валятся...
-
-
> Юр, я б с удовольствием, тока мне SVN по ЖПРСу качать, очень > напряжно... Если я снаршот Lazarus-0.9.23-fpc-2.1.5-20070529- > win32.exe качну намана будет?..
Можно и снапшот.
> И еще вопрос: > Как корректно работать с исключениями? err.pas подключаю, > сразу ошибки валятся...
Подозреваю, err.pas нужно немного переделывать, т.к. внутренняя работа с исключениями в FPC совсем по другому сделана чем в дельфях. Гляну на это.
Тут всплыл еще старый глючек - FPC неправильно линкует несколько ресурсных файлов. В итогое в экзешнике виден только один (первый) ресурсный файл.
Щас правлю это дело. Подозреваю, что разрешат исправить только в ветке 2.3, т.к. это большое исправления и может нарушить стабильность ветки 2.2...
-
Новости от 31.05.2007ДобавлениеKOLCE-GRush - "переделка" компонентов GRush от homm под Lazarus. (Возможны ошибки при работе с ImageCollection, вернее с загрузкой изображений, поскольку одну строчку в LoadPalette пришлось закомментировать)2 hommМожет посмотришь, как заменить строку: lea edi, TBITMAPINFO(edi).bmiColors чтоб и FPC ее понимал...
-
> 2 homm > Может посмотришь, как заменить строку: > lea edi, TBITMAPINFO(edi).bmiColors > чтоб и FPC ее понимал...
Я думаю у Владимира больший опыт переделки кода под лазурус, может он скажет что в такиз случаех делает? (а такиз млучаев в KOL полно, вроде). Могу посоветовать в отладчике сделать точку останова (даже под дельфи) и посмотреть, что там реально генерируеться.
-
Желательно написать PAS версию этой процедуры и для FPC ее включить.
-
> 2 homm > Может посмотришь, как заменить строку: > lea edi, TBITMAPINFO(edi).bmiColors > чтоб и FPC ее понимал...
Замени на lea edi, [edi+$28] через IFDEF
-
> Замени на > lea edi, [edi+$28] > через IFDEF Изменил и перезалил на сервер. Однако проблемы с использованием ImageCollection в IDE это не исправило...
-
Привет!
У меня такая проблема. Lazarus-0.9.23-fpc-2.1.5-20070531-cross-arm-wince-win32 + Lazarus-0.9.23-fpc-2.1.5-20070603-win32
Поставил kol+mck
Сначала были баги, но потом вроде разобрался, всё компилится под win32. Размер пустой формы 986 кб без стрипа и сжатия.
Как только выставляю в опциях проекта сборку для wince - лезут ошибки. Сначала одна - про рич. Вытавляю в коле {$DEFINE NOT_USE_RICHEDIT} - лезет тьма ошибок типа "got PChar, expected PWideChar".
PS: очень давно не проверял, как тут у сообщества дела - не было необходимости программировать, и каково же мое удивление, что когда появился интерес в фрипаскале для pda, а тут уже все есть! Ребята, всем кто работает над этой прекрасной библиотекой уже столько времени, огромное спасибо!
-
Чтобы компилировалось для покета нужно сразу после установки МСК открыть свойства пакета и поставить птичку "никогда не пересобирать" иначе Лазарус будет пытаться компилить пакет МСК под покет, что естественно работать не будет.
P.S. Для начала попробуй скомпилить пустой проект (без использования KOL) под покет, чтобы убедиться, что все правильно настроено, а затем уже и KOL пробовать. Т.к. ричедет должен автоматом отрубаться при компиляции под покет...
-
Я дико извиняюсь за, может быть, "глупый" вопрос, но как определить "Conditional defines" в Лазарусе???
-
> Я дико извиняюсь за, может быть, "глупый" вопрос, но как определить "Conditional defines" в Лазарусе??? Сам нашел. Если кому интересно "Проект -> Опции компилятора -> Другое -> Параметры пользователя" и заполнять кажое определение "-dВАШЕ_ДЕФАЙН"
-
Итак, всё сделал как сказано. Установил пакет, пометил не пересобирать. Создал проект без kol для win32 - работает. Перекомпилил для WinCE - ок. Переделал его в kol (как всегда: бросил KolProject, прописал projectDest, бросил KolForm, сохранил, октрыл сгенерированный проект). Собираю - лезут ошибки. Первая в функции Find_First в месте ( @ F )^ ); C:\lazarus\kolce_svn\kol\KOL.pas(20635,14) Error: Call by var for arg no. 2 has to match exactly: Got "WIN32_FIND_DATAW" expected "WIN32_FIND_DATA" Чуть ниже такая же ошибка. Дальше ещё. Вот все: KOL.pas(20775,71) Error: Illegal expression KOL.pas(20775,19) Error: Identifier not found "SetErrorMode" KOL.pas(20773,46) Error: Constant and CASE types do not match KOL.pas(20773,31) Error: Constant and CASE types do not match KOL.pas(20773,18) Error: Constant and CASE types do not match KOL.pas(20772,20) Error: Identifier not found "GetDriveType" KOL.pas(20642,16) Error: Call by var for arg no. 2 has to match exactly: Got "WIN32_FIND_DATAW" expected "WIN32_FIND_DATA" KOL.pas(20635,14) Error: Call by var for arg no. 2 has to match exactly: Got "WIN32_FIND_DATAW" expected "WIN32_FIND_DATA"
-
Оказывается я забыл проверить компиляцию под покет после обновления до версии 2.63. :)
Теперь поправил это дело, но для компиляции под покет нужно использовать свежий FPC 2.1.5 или 2.3.1 из svn, т.к. я там поправил определение WIN32_FIND_DATA...
-
Э-э... Начинаю путаться. Что качать, ставить, и откуда. И лучше весь комплект (fpc+lazarus+crossbuild+kol).
-
2 Yury Sidorov Я тебе на мыло инфу скинул...посмотри...
-
> Э-э... Начинаю путаться. Что качать, ставить, и откуда. > И лучше весь комплект (fpc+lazarus+crossbuild+kol).
Можешь руками поправить WIN32_FIND_DATAW на WIN32_FIND_DATA в 2х местах где ошибки и закоментарить строчки с GetDriveType и SetErrorMode.
-
-
> Обновление на http://www.kolnmck.ru/ (KOLnMCK-CE Rev.92 > от 06.06.2007)
В описании на сайте допиши, что KOLnMCK-CE предназначен для создания програм как для WinCE (PocketPC) так и Win32.
-
OK
-
>WinCE (PocketPC)
хм.. даже так, купить кпк что ли %)
-
Обновил, установил, подправил 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
-
Нужно включить опцию компилятора -va Затем скопировать все сообщения "all and hidden" в клипбоард и вставить в блокнот. По тексту смотреть чем вызвана ошибка.
-
Немного не по теме, но подскажите где в Lazarus можно глобально указать пути к библиотекам и inc-файлам. Аналогично делфи Tools|Environment Options|Library -> Library path. А то прописывать каждый раз в опциях проекта геморойно, а как глобально задать не пойму.
-
Попробовал 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
Пробовал просто проект делать под СЕ, все нормально русский есть, а вот с кол не выходит... Подскажите пожалуйста где туплю?
-
Действительно, на данный момент есть проблема с русскими буквами при использовании UNICODE_CTRLS.
Варианты решения: 1. Использовать resourcestring для всего текста (Localizy:=True). 2. Не использовать UNICODE_CTRLS.
-
Выложите плиз полный, нужный архив для компиляции KolCE... Заранее спасибо
-
> Действительно, на данный момент есть проблема с русскими > буквами при использовании UNICODE_CTRLS.Варианты решения: > 1. Использовать resourcestring для всего текста (Localizy: > =True). 2. Не использовать UNICODE_CTRLS.
Да, resourcestring помогает. Но ведь нужно еще и динамический текст выводить... А вот НЕ использовать UNICODE_CTRLS не помогает, собственно, я и подключал только из-за проблем с русским, думал поможет... Кстати а в чем причина такого поведения, почему resourcestring работает, а просто строчки нет?
-
> Выложите плиз полный, нужный архив для компиляции KolCE. > .. Заранее спасибо
Так лежит же на http://www.kolnmck.ru/
-
После нескольких дней изучения появилось некоторые мысли. Касается только 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('йй'); успешно работает. Но это не есть хорошо. Преобразование выполнять нужно на уровне компилятора что ли?
-
> Да, 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.
-
1. Проблему с ShellAPI исправил. 2. Насчет windres. Вообще-то должен вызываться arm-wince-windres.exe
-
> Поддержка кодировки 1251 есть в 2.3.1, но 2.1.5 уже давно > закрыт для добавления новых фичей...
т.е. стоит просто подождать новой версии?
-
В релизе 2.2 поддержки ср1251 не будет. Думаю будет в 2.2.2. Так что это дело не ближайшего будущего.
Сейчас можно пользоваться нестабильной версией 2.3.1 если очень нужно...
-
Насчет ошибки при компиляции ресурсов. windres не любит путей с пробелами. Поэтому нужно чтобы не было пробелов во всех путях.
-
Да у меня пробелов и нет. А если чем нибудь другим компильнуть этот файл и уже компилированный цепануть, покатит?
-
Да windres-ом он должен без проблем компилиться. Попробуй запустить: arm-wince-windres KOL-CE.rc KOL-CE.res
-
-
> Да windres-ом он должен без проблем компилиться. > Попробуй запустить: > arm-wince-windres KOL-CE.rc KOL-CE.res
Установлен Lazarus 0.9.24beta, при попытке компиляции выдается следующее: C:\lazarus\fpc\2.2.0\bin\i386-win32>arm-wince-windres KOL-CE.rc KOL-CE.res "arm-wince-gcc" не является внутренней или внешней командой, исполняемой программой или пакетным файлом. arm-wince-windres: no resources
Как поправить?
-
Или ручками компильнуть, или прописать в путях (свойства "Моего компьютера") путь к arm-wince-windres. Мне помогло.
-
> Или ручками компильнуть, или прописать в путях (свойства > "Моего компьютера") путь к arm-wince-windres. Мне помогло. >
Куда уж больше, файл KOL-CE.rc положил в каталог с arm-wince-windres.exe и через батник дал команду arm-wince-windres KOL-CE.rc KOL-CE.res, а результат постом выше.
-
Насколько знаю, можно и windres.exe или даже делфийским, а в Kol.pas заменить KOL-CE.rc на KOL-CE.res. Я так и работал, пока не прописал путь к папке с arm-wince-windres, мне это помогло.
-
YuriyM
Все вы правы, только во время запуска arm-wince-windres, он запускает файл gcc.exe, он как правило находится где-нибудь в путях к mingw, тот в свою очередь запускает cpp.exe (опять же из поставки mingw) и т.д.
Короче, мораль басни - надо указывать путь к C:\lazarus\fpc\2.2.0\bin\i386-win32 _ПЕРЕД_ любым путем уже содержащим gcc.exe, cpp.exe и т.д.
-
Помогите разобраться с траблой: Стоит lazarus 0.24, kol_mck_ce 222. Проект нормально собирается и exe-файл весит около 100кб, что меня вполне устраивает. Но стоит добавить на форму компонент kolupdown как тутже размер увеличивается до 2мб. И никак не пойму почему. strip не помогает. Опции компиляции такие: <?xml version="1.0"?>
<CONFIG>
<Compiler Value="c:\lazarus\fpc\2.2.0\bin\i386-win32\fpc.exe" Date="930002333"/>
<Params Value=" -S2cdi -CX -Og1p2 -TWin32 -Pi386 -Xs -XX -WG -vewnhi -l -FiC:\lazarus\lib\kol\ -FuC:\lazarus\lib\kolce_updown\ -FuC:\lazarus\lib\mck\lib\i386-win32\ -FuC:\lazarus\lib\kol\ -Fuc:\lazarus\ideintf\units\i386-win32\ -Fuc:\lazarus\lcl\units\i386-win32\ -Fuc:\lazarus\lcl\units\i386-win32\win32\ -Fuc:\lazarus\components\codetools\units\i386-win32\ -Fuc:\lazarus\packager\units\i386-win32\ -Fu. -olconfig.exe -dLCL -dLCLwin32 lconfig.lpr"/>
</CONFIG>
-
Скорее всего нужно выкинуть ссылку на пакет kolupdown из uses в главном модуле проекта.
-
Yury Sidorov, спасибо, помогло.
-
Помогите разобраться: скачал вот дерево 2.3 (ночной билд). Где же взять под нее кросс-компилер? (ссылку) Заранее спасибо
-
Удалено модератором
-
А где сам kolnmck.ru
-
Удалено модератором
|