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

Вниз

Lazarus+MCK - Ошибка   Найти похожие ветки 

 
Yury Sidorov   (2007-09-29 21:25) [40]

Быстрее читать/писать по 4 байта выровненые данные в памяти. Если нужно обрабатывать некий поток данных и нужна скорость, то нужно проверять адрес текущих данных и принимать решение как их читать - либо напрямую (если выровнены), либо побайтово.


 
mdw ©   (2007-09-30 01:03) [41]

Ок, спасибо за информацию и советы.


 
mdw ©   (2007-10-01 11:55) [42]


> Для процессора arm данные в памяти должны быть выровняны
> на границу 4х байт, чтобы прочитать/записать dword.

А чтобы прочитать/записать word, на границу 2х байт? Или все равно к 4 байтам привязано?


 
Yury Sidorov   (2007-10-01 12:26) [43]

word 2 байта.


 
mdw ©   (2007-10-01 13:08) [44]


> word 2 байта.
:)))

Я имел ввиду, при обращении к Word, находящегося по адресу, например $2, т.е. на  границе слова, но не на границе  DWord как реально читаться будет целиком сразу слово, или побайтно?


 
Yury Sidorov   (2007-10-01 17:24) [45]

Я имел в виду что выравнивание для word достаточно до 2х байт чтобы нормально читать/писать. :)


 
finder2007 ©   (2007-10-01 22:00) [46]

Пытался поставить KOL на Lazarus-0.9.23-fpc-2.2.0-20071001-win32 и на Lazarus-0.9.23-fpc-2.2.1-20071001-win32 - та же ошибка, что [26]. Дмитрий, может выложите работающую версию (2.1.5) куда нибудь на сайт? А то 100 мБ коту под хвост. Погуглил - только две ссылки - на этот форум и на Вашу статью.


 
Yury Sidorov   (2007-10-02 00:52) [47]

Используй последнюю svn версию KOL-CE. Там это исправлено.


 
mdw ©   (2007-10-02 10:48) [48]


> Дмитрий, может выложите работающую версию (2.1.5) куда нибудь
> на сайт?

Я сейчас пользуюсь fpc-2.2.0 все нормально работает. Правда ставлю уже поверх 2.1.5. Пытался ставить Lazarus-0.9.23-fpc-2.2.1-20071001-win32, но не устанавливается, чего-то не находит в дистрибутиве и откатывается назад.
Попробуйте 208 ревизию KOL с  svn или отсюда www.kolnmck.ru/files/kolce/278/kolce_rev208.7z . В принцине можно выложить, только нужно прозондировать насчет места на сайте (100 мегов все же).


 
finder2007 ©   (2007-10-02 11:37) [49]

Взял 208 ревизию - www.kolnmck.ru/files/kolce/278/kolce_rev208.7z. При компиляции ошибка исчезла. При пересборке вылетает с ошибкой:
Compiling resource lazarus.rc
c:\lazarus\fpc\2.2.0\bin\i386-win32\windres.exe: no resources
C:\lazarus\ide\\lazarus.pp(115,1) Error:Error while linking


 
mdw ©   (2007-10-02 12:52) [50]

2 Yury Sidorov

Юрий, я для WinCE наваял замену IniFile (работает идентично Win32), оформил в inc-файл, аналогично "KOLCEOpenDir.inc". Прислать, добавите в архив KOL-CE? А то, как-то грустно без ini, реестр конечно здорово, но....


 
Yury Sidorov   (2007-10-02 13:21) [51]

mdw: Присылай, конечно.
finder2007: проблема с путями. В путях должен быть c:\lazarus\fpc\2.2.0\bin\i386-win32


 
Yury Sidorov   (2007-10-02 15:02) [52]

Официальные fpc 2.2.0 для win32 и wince прекрасно работают с KOL-CE. Качать тут: http://www.freepascal.org/down/i386/win32-ftp.freepascal.org.var


 
finder2007 ©   (2007-10-02 20:59) [53]


> finder2007: проблема с путями. В путях должен быть c:\lazarus\fpc\2.
> 2.0\bin\i386-win32

Не помогает. Lazarus-0.9.23-fpc-2.2.0-20071001-win32, 208 ревизия KOL, в fpc.cfg указал
-FuC:\lazarus\fpc\2.2.0\bin\i386-win32
-FuC:\lazarus\KOL\mck
-FuC:\lazarus\KOL\kol


 
Yury Sidorov   (2007-10-02 22:55) [54]

В переменной окружения PATH должен быть путь C:\lazarus\fpc\2.2.0\bin\i386-win32


 
finder2007 ©   (2007-10-03 11:07) [55]

В переменной окружения PATH должен быть путь C:\lazarus\fpc\2.2.0\bin\i386-win32
Ура! Все получилось. Для таких же чайников, как и я, поясню - не надо искать переменную окружения в меню Lazarus "Окружение" или в fpc.cfg. Сразу заходите в панель управления -> Система -> ...


 
finder2007 ©   (2007-10-08 23:48) [56]

Еще вопрос - при использовании модуля jpegobj выскакивают многочисленные ошибки:
Error: Illegal COFF Magic while reading C:\lazarus\KOL\kol\JPegObj\jdapimin.obj

и так далее...
Как с ними бороться?
Другие модули вроде бы идут при включении {$mode delphi}


 
Yury Sidorov   (2007-10-09 14:01) [57]

Борладновские .obj файлы нельзя линковать в FPC.
Можно использовать объектные файлы сделаные либо gcc либо MS VC++.


 
Yury Sidorov   (2007-10-09 14:05) [58]

P.S. В поставке FPC есть пакет pasjpeg на чистом паскале. Попробуй его прикрутить.


 
finder2007 ©   (2007-10-09 15:21) [59]

Спасибо - попробую


 
Vladimir Kladov ©   (2007-10-09 16:26) [60]

В пакет CxKOLTiffJpeg входит jpeg, который не требует obj. Но там асм-вставки, полученные из masm. Правда, опять же, они оформлены как "чистые" asm-процедуры без параметров, и вполне может оказаться, что совместимы с FPC.


 
mdw ©   (2007-10-09 18:37) [61]

Я сделал порт уже. Если нужно выложу, правда под WinCE не пробовал еще.


 
finder2007 ©   (2007-10-09 21:33) [62]


> Я сделал порт уже. Если нужно выложу, правда под WinCE не
> пробовал еще.

Конечно надо :). У меня нахрапом не получилось (CxKOLTiffJpg) - пишет ошибку в jerror. Попробую еще freepascal-евский pasjpeg. Хотя в Delphi последний отказался компилироватся.


 
mdw ©   (2007-10-09 21:54) [63]

Завтра выложу. Портирвал не pasjpeg, там почему то с палитрой проблемы образовались. Но как посмотрел, и у pasjpeg и у CxKOLTiffJpg и у того что я портирвал, ноги из одного места растут... Исходники одни.:)


 
mdw ©   (2007-10-10 12:06) [64]

www.kolnmck.ru/files/components/graphics/koljpgimage.7z

Работает в D7, Lazarus (Win32 и WinCE). Пока так, хотя можно еще поковырять - несколько килобайт еще уйдет, думаю. Но это потом как нибудь.


 
finder2007 ©   (2007-10-10 22:50) [65]


> Работает в D7, Lazarus (Win32 и WinCE).

К Лазарусу (WIN32) пристыковалось без проблем. Пока еще только начинаю тестировать. На недокачанных JPEG вылетает на LoadFromFile c райнтайм - ошибками. При LoadFromStream просто вылетает. С докачанными кажется все нормально.


 
finder2007 ©   (2007-10-11 01:37) [66]

В Delphi такая же фигня :(


 
mdw ©   (2007-10-11 10:55) [67]

А что значит "недокачанный" и "докачанный" JPEG?


 
finder2007 ©   (2007-10-11 11:13) [68]

Например, оборванный при закачке куда-нибудь (сайт,ftp-сервер...). Или откуда-нибудь. Это просто моделируется в TC -> Разбить файл. Как правило, первый кусок (верхняя часть фото) нормально читается обычными программами. Вчера в Delphi отладку запустил - пытается читаться весь файл - пока до низа не дойдет. Height видимо из заголовка берется - какой должен быть.


 
mdw ©   (2007-10-11 12:16) [69]

А так не катит?
try <чтение файла> except <обработка ошибки> end;


 
finder2007 ©   (2007-10-11 12:26) [70]


> А так не катит?
> try <чтение файла> except <обработка ошибки> end;

Вчера ночью не получилось что-то. Вечером еще подергаюсь.


 
mdw ©   (2007-10-11 13:34) [71]

Err подключи.


 
mdw ©   (2007-10-11 18:12) [72]

Я сразу не въехал в чем причина. Изначально там при возникновении ошибок Exception"ы генерилились, соответственно и дальнейше чтение прекращалось, но мне это ну нужно было (файлы заведомо правильные), я и закоментировал все это дело. Нужно будет восстановить, посмотрю завтра.


 
finder2007 ©   (2007-10-11 21:26) [73]


> Err подключи.

При сборке появляется ошибка:
C:\lazarus\KOL\kol\err.pas(482,22) Error: Identifier not found "EnumResourceModules"


 
Yury Sidorov   (2007-10-12 13:29) [74]

err.pas не портирован под FPC.


 
finder2007 ©   (2007-10-17 16:34) [75]

С испорченными (недокачанными) Jpeg ничего не получается :(


 
mdw ©   (2007-10-17 21:27) [76]

Не получается где? в Lazarus? там try-except работает и без Err. В Delphi подключите Err. Ну или пришлите файл, где падает, посмотрю.


 
mdw ©   (2007-10-18 11:03) [77]

1. скачайте свежий версий. :)
www.kolnmck.ru/files/components/graphics/koljpgimage.7z
2. Используем примерно так:
....
   try
     JPEGImage.LoadFromFile("C:\Error.jpg");
     ...
   except
      ShowMessage("Error");
   end;
...
3. Обратите внимание на файл JConfig.INC. Его лучше положить в папку проекта, скопировав _JConfig.INC из архива. Там настраиваются варианты компиляции. По поводу обработки обратите внимание на:
//{$define USE_TRACE}
{$define USE_WARNING}
{$define USE_ERROR}
//{$define USE_ERR}
позволяют настроить различный уровень обработки ошибок.


 
finder2007 ©   (2007-10-18 19:28) [78]

Все заработало, спасибо! Чтобы показывались недокачанные Jpeg (а у меня их 99%) закомментировал все четыре define. Проверял в Lazarus.



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

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

Наверх




Память: 0.62 MB
Время: 0.019 c
2-1215104684
blazerad
2008-07-03 21:04
2008.08.10
Как заставить БД Делфи работать на другом компе.


2-1215334184
Циркуль
2008-07-06 12:49
2008.08.10
Печатаются крякозябры


15-1214220865
Правильный-Вася
2008-06-23 15:34
2008.08.10
ожидает ли Висту судьба Миллениума?


15-1214040262
Kostafey
2008-06-21 13:24
2008.08.10
С днем рождения ! 21 июня


15-1214224288
grisme
2008-06-23 16:31
2008.08.10
GPRS + телефон?