您的問題不能現在可以回答,因爲它缺少幾個關鍵細節。
netdir
是netdir
是一個全局常量,還是它現在超出範圍?
- 您是否設置
netdir
爲OpenDialog1.Execute
之前的內容?
- 問題是關於什麼樣的目錄
GetDir
返回(正如你的標題所暗示的),或者關於如何使開放對話記住最後訪問的目錄(正如身體問題所暗示的)?
我會假設1)netdir
是一個全局常量,2)你沒有初始設置它,並且3)你想讓打開的對話框記住上次訪問的文件夾。因此,你有像
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm3 = class(TForm)
OpenDialog1: TOpenDialog;
procedure FormClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
var
netdir: string;
implementation
{$R *.dfm}
procedure TForm3.FormClick(Sender: TObject);
begin
OpenDialog1.InitialDir := netdir;
OpenDialog1.Execute;
GetDir(0, netdir);
end;
end.
那麼解決的辦法是讓Windows記住在目錄中你,那是,根本就
procedure TForm3.FormClick(Sender: TObject);
begin
OpenDialog1.Execute;
end;
單獨
!但爲什麼你的方法不工作?那麼,GetDir
不會返回你想要的。如果你需要明確的控制,做
procedure TForm3.FormClick(Sender: TObject);
begin
OpenDialog1.InitialDir := netdir;
OpenDialog1.Execute;
netdir := ExtractFilePath(OpenDialog1.FileName)
end;