Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "KOL";
Текущий архив: 2008.08.10;
Скачать: [xml.tar.bz2];

Вниз

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 вся ветка

Форум: "KOL";
Текущий архив: 2008.08.10;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.6 MB
Время: 0.009 c
15-1214224288
grisme
2008-06-23 16:31
2008.08.10
GPRS + телефон?


15-1214391891
Big Joe
2008-06-25 15:04
2008.08.10
Домены меняют алфавит


2-1215575714
Muh
2008-07-09 07:55
2008.08.10
Как в цикле перебрать допустим combobox1, combobox2


15-1214050387
Илья Корстин
2008-06-21 16:13
2008.08.10
mui32.lib, glut32.lib, glut32.dll


2-1215457662
maxon
2008-07-07 23:07
2008.08.10
Функции и ее результат.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский