Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

TDirectoryOutline. Ошибка в свойстве Directory

Delphi , Синтаксис , Ошибки и Исключения

TDirectoryOutline. Ошибка в свойстве Directory

Автор: Коробенков Владимир

При присвоении свойству TDirectoryOutline.Directory строки, являющейся действительным файловым путем, компонент должен отобразить этот путь раскрытием соответствующей ветви дерева директорий (вызывая защищенный метод WalkTree(). Из-за ошибки в методе SetDirectory WalkTree не вызывается. Ошибка выявлена в Delphi 5, не исправлена и в Delphi 6.

ТИПОВЫЕ РЕШЕНИЯ.
  1. В методе SetDirectory модуля DirOutln.pas строку
    if Copy(FDirectory, Length(FDirectory) - 1, 2) = ':\' then WalkTree(TempPath);
    
    заменить на
    if Copy(FDirectory, Length(FDirectory) - 1, 2) <> ':\' then WalkTree(TempPath);
    
    и перекомпилировать модуль.

  2. Просто не использовать этот компонент.

КОММЕНТАРИЙ:

Проверено (Delphi 5). Ошибка реально существует. По-видимому, этот код не изменялся от самых ранних версий.

Малоизвестный компонент TDirectoryOutline находится на странице Samples палитры компонентов. Это простой и вполне приличный способ получить визуальное дерево директорий. Он построен на основе TCustomGrid->TCustomOutline, а не на базе стандартного Win32-контрола TreeView, и потому лишен присущих ему ограничений и недостатков.

Модификация исходников, не входящих, строго говоря, в VCL, - не есть большая беда. Как вариант, можно предложить в подобных случаях держать модифицированную копию модуля у себя в проекте.

Ошибка в свойстве TDirectoryOutline.Directory не вызывает метод WalkTree при присвоении строки, являющейся действительным файловым путем, и может быть исправлена заменой кода в методе SetDirectory.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Ошибки и Исключения ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-19 13:29:56
2024-11-21 12:14:33/0.004910945892334/1