Страница 25 из 35

Добавлено: 31.03.2008 13:07:29
Alexx2000
B4rr4cuda писал(а):Alexx2000
Перевод на паскаль бесполезен, т.к. winefpc нет и скомпилить не получится,

Может я не правильно понял, но этот враппер использует функции (LoadLibriry, GetProcAdress) из winelib, что помешает нам их использовать из паскаля
З.Ы. С документацией толком не разбирался, поэтому наверное горожу чушь :)
а судя по упомянутому тобой rpm, ты путаешь рпмовский spec и wine-вский, который всего лишь указывает экспортируемые из библиотеки,собираемой с помощью winegcc, функции.

Да не, я про рпм и говорю, пробовал собирать doublecmd*.rpm, и столкнулся с такими проблемами.

Добавлено: 31.03.2008 14:17:18
B4rr4cuda
Может я не правильно понял, но этот враппер использует функции (LoadLibriry, GetProcAdress) из winelib, что помешает нам их использовать из паскаля

Не совсем так. Насколько я понял, врапер, (да и любая другая библа или прога) скомпиленый winegcc, инкапсулируется в so библиотеку довольно хитрозадым методом, используя для работы среду wine и её загрузчик. Теоретически твой вариант можно осуществить, но практически, сначала придется построить аналогичный механизм сборки.

Да не, я про рпм и говорю, пробовал собирать doublecmd*.rpm, и столкнулся с такими проблемами.

Писал спек вручную или мэйкфайл+checkinstall использовал?


И ещё хотел предложить одну вещь:
Я копал исходники TuxCmd в поисках интересных фенечек и увидел интересное построение VFS (UEngines,UVFSCore). Фактически его система не видит разницы между сетевой, локальной и виртуальной фс и позволяет эффективно работать с ними. Рекомендую глянуть. Т.к наш вариант не очень функционален (chmod например, который даже не внесен в класс, а вызывается напрямую, а как его тогда в предполагаемом ftp.wfx использовать?)
Если взять его вариант на вооружение, то не придется извращаться для написания файлсистемных плагинов (апи которых нужно ОЧЕНЬ серьезно переделывать для юзабельности в линуксе ). И как приятный бонус - готовый плагин использующий Gnome-vfs, те все прелести ftp:// smb:// sftp:// - и все это средствами системы.

Добавлено: 31.03.2008 23:42:23
Alexx2000
B4rr4cuda писал(а):Писал спек вручную или мэйкфайл+checkinstall использовал?

И так, и так делал. Покопавшись в интернете сделал патчик, теперь все работает.
Остановился на варианте checkinstall + скрипт.
Вот теперь допишу скриптик, и можно собирать пакеты и выкладывать.
З.Ы.
Под qt в последней svn Lazarus, глюк с перерисовкой панели, если двигать курсором вверх, то остаются полоски выделения. Не знаю чей глюк, системы или Лазаруса.
Если взять его вариант на вооружение, то не придется извращаться для написания файлсистемных плагинов (апи которых нужно ОЧЕНЬ серьезно переделывать для юзабельности в линуксе ). И как приятный бонус - готовый плагин использующий Gnome-vfs, те все прелести ftp:// smb:// sftp:// - и все это средствами системы.


Ага, реализация интересная, хитро сделано. Можно попробовать прикрутить.

Добавлено: 01.04.2008 14:57:05
B4rr4cuda
Вот теперь допишу скриптик, и можно собирать пакеты и выкладывать.

Супер. :) Автоматизация - это хорошо.

Под qt в последней svn Lazarus, глюк с перерисовкой панели, если двигать курсором вверх, то остаются полоски выделения. Не знаю чей глюк, системы или Лазаруса.

Да, у меня тоже появились артефакты, но грешу на qt4pas v1.60 на 54 версии этого не было.

Ага, реализация интересная, хитро сделано. Можно попробовать прикрутить.

Давай попробуем. Только придется нехило поломать текущий механизм. Я покопаю в этом направлении, мож чего и нарою :).

Добавлено: 01.04.2008 15:18:33
Alexx2000
B4rr4cuda писал(а):Да, у меня тоже появились артефакты, но грешу на qt4pas v1.60 на 54 версии этого не было.

Попробую собрать под 1.54 с использованием более ранней ревизии Лазаруса (если найду)

Давай попробуем. Только придется нехило поломать текущий механизм. Я покопаю в этом направлении, мож чего и нарою :).


Поломать придется, может и не все, ведь отчасти сейчас реализовано похожим образом (используя абстрактный класс), только там он используется и для локальной ФС, ну и более широкий API

Добавлено: 01.04.2008 18:24:13
B4rr4cuda
Попробую собрать под 1.54 с использованием более ранней ревизии Лазаруса (если найду)

svn co -r номер ревизии URL :wink:
Или имеешь в виду поиск ревизии до этого бага?
Тогда можно попробовать с 0.9.24 собрать.

Кстати ты случаем плагин unrar не правил? Стал выбивать Access violation. (я его давненько не запускал)

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

FArchiveName = /tmp/SRC.rar
Open Archive
An unhandled exception occurred at $00000000 :
EAccessViolation : Access violation
  $00000000
  $08298B7A  TWCXMODULE__VFSOPEN,  line 364 of uwcxmodule.pas

Выбивает ошибку в unrarfunc.pas в фунце OpenArchive при вызове фунцы:

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

RARSetCallback(Result, UnrarCallback, 0);
которая оказалась чистейшим nil-ом.
Грешил на rar, поискал libunrar.so - в системе не оказалось (хотя и раньше не было, но работало), собрал libunrar, кинул в /usr/lib - все равно выбивает.
Насколько показали тесты, даже при указании прямого пути к библе - она не грузится.
Перенес загрузку из dpr в модуль - библу грузит, функции - не хочет.
Проверь пожалуйста на своей системе (под лином). Хочу знать где именно гремлин завелся, у меня в системе или в плаге.

Добавлено: 01.04.2008 19:56:46
B4rr4cuda
По рару отбой, это я сам дурак, забыл перед компиляцией libunrar почистить скомпиленые модули. Все работает нормально.

Добавлено: 01.04.2008 23:13:38
Alexx2000
Собрал Лазарусом svn rev. 13844, и libqt4intf.so версии 1.61. Все отрисовывается нормально, значит, что-то сломали в LCL

Добавлено: 05.04.2008 13:17:04
Alexx2000
Копавшись в исходниках LCL заметил, что там кое где используются определения
LCLGTK2, LCLQT и т.д. Думаю лучше использовать их вместо interface.inc.
А то при компиляции из Лазаруса приходится его править вручную, да и зачем изобретать велосипед.

Добавлено: 05.04.2008 13:56:46
Attid
да и зачем изобретать велосипед.

согласен =), а они передаются при компиляции ?

Добавлено: 05.04.2008 14:26:13
Alexx2000
В сделанный мной тестовый пример все нормально передалось.

Добавлено: 05.04.2008 14:58:41
B4rr4cuda
LCLGTK2, LCLQT и т.д. Думаю лучше использовать их вместо interface.inc.

Согласен, это удобнее.

Добавлено: 05.04.2008 21:17:08
Alexx2000
По поводу Юникода под Линукс. Специально сохранил с wikipedia страничку с именем в виде иероглифов. Так вот DC собранный под GTK2 и QT нормально работает с таким файлом. (Корректно отображает, копирует, просматривает, редактирует).

З.Ы. Локаль UTF-8

Добавлено: 13.04.2008 01:38:16
Alexx2000
Думаю пора выкладывать новую версию. Вот только не знаю стоит ли qt4 версию выпускать, все таки сыровата еще.

Добавлено: 13.04.2008 11:15:36
B4rr4cuda
Вот только не знаю стоит ли qt4 версию выпускать, все таки сыровата еще.

Ну, кт, по сравнению с глюками интерфейса gtk2, просто прелесть. Давай и qt версию выложим - хуже не будет.