お知らせ

電子会議

ライブラリ

FDelphi サイト全文検索

Delphi FAQ一覧

サンプル蔵



FDelphi FAQ
15番会議室「FAQ編纂委員会」に寄せられた「よくある質問の答え」

[Q]
D3 で、DirectoryOutline を使ったところ、次のように、Directory プロパ ティーが変更を受け付けてくれません。 Form2.DirectoryOutline1.Directory:=ComboBox1.Text; {Form1 の ComboBox1.Text にフルパスのディレクトリーを入れ、ボタンイ ベントなどで実行。Form2 の DirectoryOutline1 に表示}

[A]
サンプルコンポ DirectoryOutline は、D1 から添付されてきてますが、なか
なか完璧のものが付けられず、D3 では、D2 以前の不具合は修正されていま
すが、そのせいで新たな不具合が出てきました。

 [例]のように2箇所修正して下さい。これを再インストールするのは[関連
事項]の[FAQ]を参考にして下さい。
[例]
{TDirectoryOutline モジュール、DirOutLn.pas 修正例}

procedure TDirectoryOutline.SetDirectory(const NewDirectory: TFileName);
var
  TempPath: TFileName;
begin

(..略..)

    if AnsiCompareFileName(TempPath, FDirectory) <> 0 then
     { is it a dir change? }
    begin
      FDirectory := TempPath; { set new directory }
      ChDir(FDirectory); { go there }
      if TempPath[1] <> Drive then
         { check to see if we changed drives, too }
        Drive := TempPath[1] { change drive/build list if needed }
      else
      begin
{コメント化->}
        {if Copy(FDirectory, Length(FDirectory) - 1, 2) = ':\' then}
          WalkTree(TempPath);
        Change; { otherwise, we're done }
      end;
    end;
  end;
end;

procedure TDirectoryOutline.SetDrive(NewDrive: Char);
var
  TempPath: string;
begin

(..略..)

    begin
      FDrive := NewDrive;
      ChDir(FDrive + ':');
                    {~~~ ここ。元は ':\'}
      GetDir(0, TempPath);
(..略..)
    end;
  end;
end;


ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum FDELPHIに寄せられる質問の中から、よくある質問への回答を FDELPHIのメンバーがまとめたものです。 したがって、これらの回答はボーランド株式会社がサポートする公式のものではなく、掲示されている内容についての問い合わせは受けられない場合があります。

Copyright 1996-1998 Delphi Users' ForumFAQ編纂委員会