Страница 6 из 35
Добавлено: 05.03.2007 15:21:37
Attid
Lister(.exe) из состава Total Commander
не работает под линуксом так что свой все равно имеет смысл вести.
хоть и как отдельный бинарник.
Бросьте заниматься фигнёй.
ну пока ничего нового никто и не добавляет а пытаемся достичь стабильности. а про вынос утилит в отдельные бинарники я говорил что не против но ничего не порешили если
Alexx2000 за то давайте разрезать что есть и каждому желающему по компоненту в руки и пусть доводит каждый свое.
Добавлено: 05.03.2007 17:00:06
Romtek
В KAStoolBar при попытке загрузить файл с относительным путём (что правильнее), например, 'pixmaps\11.png' , сообщает, что нет такого пути...
Добавлено: 06.03.2007 01:47:22
Alexx2000
Romtek писал(а):А вы всё ещё "распыляетесь" на создание примочек? Бросьте заниматься фигнёй.
По твоему исправление багов это фигня.
Romtek писал(а): Давайте лучше соберём хорошо работающий и выглядещий скелет-минимум, на который уже наращивать мясо (модули и т.д.).
А мне кажется, что скелет уже есть. И именно над стабильностью сейчас и работаем, находя и исправляя ошибки.
"Вырезал" из DblCmd путём хирургического вмешательства такие компоненты, как внутренние просмотрщик и редактор, а также сравнение файлов.
На счет редактора еще можно согласиться, а вот просмоторщик и сравнение файлов, если выносить, то в виде библиотеки.
В KAStoolBar при попытке загрузить файл с относительным путём (что правильнее), например, 'pixmaps\11.png' , сообщает, что нет такого пути...
Как, ты уже заметил, на данный момент относительные пути не поддерживаются.

Добавлено: 06.03.2007 10:42:07
shade
Ну в таком случае нужно использовать SysUtils.ExpandFileName
Добавлено: 07.03.2007 13:12:22
Romtek
А мне кажется, что скелет уже есть.
Перечисли что входит в скелет и каким образом (форма, модуль или программа).
Как, ты уже заметил, на данный момент относительные пути не поддерживаются.
Функцией SysUtils.FileExists проверял, поддерживаются.
Замечание (так сказать, "фи"):
на мой взгляд, "встраивание" WinAPI (также касается и UNIX-функций) в код неприемлемо, нужно выносить ОС-зависимые участки кода в отдельные модули. Тот же uOSUtils.pas подойдёт для этих целей.
Добавлено: 07.03.2007 15:10:36
Romtek
Как исправить глюк с отображением иконок в винде? По краям фон чёрного цвета. При этом, в иконках директорий всё как полагается.
Грешу на TPixMapManager.GetBitmap
Добавлено: 07.03.2007 21:11:17
Romtek
С TPixMapManager.GetBitmap чуток разобрался, дело всё в неинициализированном Canvas в TBitmap.
А вот в семействе нитей (threads) творится нечто... что словами не описать. Да что там, и не такое видел. Тянется цепочка от одних модулей к другим, и кажется, что бесконечно.
Никогда не думал, что нити могут зависеть от диалогов сообщений и панелей с файлами. Оказывается, и такое возможно.
Alexx2000, ты наколдовал там немало. Только можно сделать проще. Вместо методов-форм для диалогов прогресса, сообщений и прочего, можно было воспользоваться процедурными типами.
Добавлено: 08.03.2007 01:35:51
Alexx2000
Romtek писал(а):Перечисли что входит в скелет и каким образом (форма, модуль или программа).
скелет :
главная форма fmain.pas
framepanel.pas модуль содержащий класс файловой панели
uCopyThread, uMoveThread, uDeleteThread модули ответственные за копирование, перемещение и удаление в потоке
uFileList содержит класс для хранения списка файлов
uFindThread поиск файлов в потоке
и другие модули (по памяти все не перечислю) В общем то что обеспечивает базовую функциональность.
Замечание (так сказать, "фи"):
на мой взгляд, "встраивание" WinAPI (также касается и UNIX-функций) в код неприемлемо, нужно выносить ОС-зависимые участки кода в отдельные модули. Тот же uOSUtils.pas подойдёт для этих целей.
Собственно для этих целей он и создан, однако еще не все что можно туда перенесено.
Насчет потоков наколдовал в основном не я,
так уже было. Хотя и я внес в них свою лепту, однако под Линукс данный вариант не работает.
В тоже время поиск в потоке работает, поэтому там действительно слишком намудрили.
Надо их оптимизировать, чтобы не было проблем не под windows, не под Linux.
Добавлено: 08.03.2007 14:35:44
Romtek
Неплохо бы заменить панель с длинным списком устройств на TKAStoolbar на компактный TDriveComboBox. Вся беда, что для Лазаруса такого компонета нет, а как получать список устройств программно я не имею понятия (аналог виндовой GetLogicalDrives).
Добавлено: 08.03.2007 19:35:12
Alexx2000
Romtek писал(а):Неплохо бы заменить панель с длинным списком устройств на TKAStoolbar на компактный TDriveComboBox.
Ну это должно быть опциональным, кому то нравиться в виде кнопочек на панели, кому то в виде ComboBox.
И в чем собственно проблема в получении списка устройств, в исходниках все это есть.
Добавлено: 12.03.2007 19:08:04
SergKam

а в линуксе нет "устройств" единая фаловая система с общим корнем.
вместо устройст лучше закладки настраиваемы сделать, или придется вывод команды mount парсить
Добавлено: 23.03.2007 16:37:12
Attid
поймал у себя ошибку
при запуске командора в венде шло обращение к диску D (cdrom\kombo)
и если там нет СД то соответственно вылетает ошибка что диска нет, ошибка системная.
ОС XP,SP2
Код: Выделить всё
unit uOSUtils;
****
function GetLabelDisk(const Drv: Char; const VolReal: Boolean): string;
****
GetVolumeInformation(PChar(Drv + ':\'), Buf, DWORD(SizeOf(Buf)), nil,
NotUsed, NotUsed, nil, 0);
на других машинах нормально =/
Добавлено: 23.03.2007 16:54:55
Attid
что такое не везет и как с этим бороться кучу времени потратил на поиск ошибки, создал тестовый пример , он отказался вызывать ошибку.
запустил DC он тоже пошел без ошибки =)
хотя проявляла себя больше недели. соответственно перезагружал машину много разставил удолял\обновлялся .
в общем глюк не понятен но если будет повторятся то надо будет его тут =)
кста обнаружил что для каждой панели операция повторяется
есть что оптимизировать =)
Добавлено: 23.03.2007 18:24:27
Sergei I. Gorelkin
Если не ошибаюсь, системные ошибки такого рода можно попробовать удавить предварительным вызовом SetErrorMode().
Добавлено: 26.03.2007 16:27:13
Attid
Пробывал ДК откомпелировать в гтк2, получилось =)
даже работал, естественно руский язык в меню\сообщениях не пошел
зато прекрастно отображает каталоги на русском языке. и вообще приятнее все , только разные артефакты вылазиют. а в целом пользоваться уже можно учитывая еще и возобновление копирования под линуксом =)
жаль что пока потерял возможность что-то делать нет времени.
Alexx2000
последних изменений "Function to Execute internal or external command"
не понял.