I have the following sequence of commands in Delphi2010:
var netdir:string;
....
OpenDialog1.InitialDir:=netdir;
....
OpenDialog1.Execute...
....
GetDir(0,netdir);
....
After executing OpenDialog I should have in string netdir the directory where I finished my OpenDialog.Execute. And in the next OpenDialog.Execute it should start from that directory. It works fine on XP, but not on Windows 7? It always starts from directory where the program is installed.
Any idea what might be wrong?
Thanks.
Your question cannot be answered as it stands, because it lacks several crucial details.
netdira global constant, or does it go out of scope every now and then?netdirto something prior toOpenDialog1.Execute?GetDirreturn (as your title suggests), or about how to make the open dialog remember the last visited directory (as the body matter suggests)?I will assume that 1)
netdiris a global constant, that 2) you do not set it initially, and that 3) you want the open dialog to remember the last visited folder. Thus you have something likeThen the solution is to let Windows remember the directory for you, that is, simply do
alone! But why doesn't your method work? Well,
GetDirdoesn't return what you want. If you need explicit control, do