OpenDialog - alterar diretório

Delphi

24/04/2008

Na minha aplicação, uso o OpenDialog e direciono o mesmo para um determinado diretório, de acordo com os parâmetros que o usuário escolheu na tela.
Atualmente, uso o código:

OpenDialog.InitialDir := dirRet;

na sequencia do programa, se o usuário muda os parâmetros da tela, a variavel dirRet é alterada, passo novamente por esta linha de comando, porém o OpenDialog abre no diretório antigo e não no novo...

Como posso resolver isso??

Grata pela atenção... aguardo!


Patidh

Patidh

Curtidas 0

Respostas

Rodc

Rodc

24/04/2008

Identifique se é a primeira ou a segunda vez que o usuário está abrindo o OpenDialog. Na primeira vez você indica o diretório inicial e na segunda você deixa a propriedade em branco. Acho que isto resolve.
Se não resolver, guarde o diretório que o dialog estava quando foi fechado para setar corretamente na próxima vez.


GOSTEI 0
Mahdak

Mahdak

24/04/2008

outra dica que pode ser dada é tornar o dirRet em uma variavel global, entao sempre que o parametro dirRet mudar voce primeiro zera a variavel e depois atribui o novo valor a ela

public
{ Public declarations }
dirRet : string;

.
.
.
.

dirRet := ´´;
dirRet := ´c:\novo_diretorio\´;


GOSTEI 0
Rodc

Rodc

24/04/2008

dirRet := ´´; dirRet := ´c:\novo_diretorio\´;

Pra que zerar o parâmetro antes de atribuir um novo valor? Não é só atribuir o novo valor?
dirRet := ´c:\novo_diretorio\´;


GOSTEI 0
Mahdak

Mahdak

24/04/2008

[quote:be6abcb8b9=´mahdak´]dirRet := ´´; dirRet := ´c:\novo_diretorio\´;

Pra que zerar o parâmetro antes de atribuir um novo valor? Não é só atribuir o novo valor?
dirRet := ´c:\novo_diretorio\´;[/quote:be6abcb8b9]

sim rodc, voce está correto, eu só sugeri zerar a variavel antes como medida preventiva demasiada auhauahuah...


GOSTEI 0
POSTAR