Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  4 624

•  TDictionary Custom Sort  6 625

•  Fast Watermark Sources  6 404

•  3D Designer  9 349

•  Sik Screen Capture  6 738

•  Patch Maker  7 123

•  Айболит (remote control)  7 129

•  ListBox Drag & Drop  5 987

•  Доска для игры Реверси  97 566

•  Графические эффекты  7 322

•  Рисование по маске  6 610

•  Перетаскивание изображений  5 481

•  Canvas Drawing  5 858

•  Рисование Луны  5 579

•  Поворот изображения  5 090

•  Рисование стержней  3 657

•  Paint on Shape  2 890

•  Генератор кроссвордов  3 788

•  Головоломка Paletto  3 041

•  Теорема Монжа об окружностях  3 854

•  Пазл Numbrix  2 535

•  Заборы и коммивояжеры  3 248

•  Игра HIP  2 214

•  Игра Go (Го)  2 146

•  Симулятор лифта  2 526

•  Программа укладки плитки  2 167

•  Генератор лабиринта  2 663

•  Проверка числового ввода  2 319

•  HEX View  2 651

•  Физический маятник  2 282

 
скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Delphi Sources

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, - не есть большая беда. Как вариант, можно предложить в подобных случаях держать модифицированную копию модуля у себя в проекте.





Похожие по теме исходники

Directory Change

Active Directory Create User

Directory Monitor

Mackintosh Directory Tree

 



Copyright © 2004-2025 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Группа ВКонтакте