Open dialog da directory degismeme problemi

Başlatan z, 16 Ocak 2009, 15:38:13

z

Yazdigim program uc ayri klasor kullaniyor.

Program;

A turu dosyalari 1. klasorden,
B turu dosyalari 2. klasorden,
C turu dosyalari 3. klasorden

okuyor.

Diyelimki A turu dosya okumasi gerekti. 1. klasoru opendialog menusunde ekrana siraliyor.

Kullanici istedigi dosyayi secip yoluna devam ediyor.

Simdi de B turu klasor lazim oldu diyelim. Bu kez program opendialog menusunde directory i 2. klasor olarak set ediyor. Ancak ekrana gene 1. klasor ve bu klasordeki dosyalar geliyor.


Klasor degistirme islemini opendialog.initialdir:=Klasorun_Adi  olarak yapiyorum.

Neden bu komut duzgun islemez?

Bu sorun bazi gunler oluyor bazi gunler olmuyor. Sebebini anlamis değilim.  :D
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

wsxwsx

galiba senin klasör seçme işi aslında hiç geçerli olmuyor. diyaloğu açtıktan sonra set etmiş olabilirsin. tesadüfen istedğin klasörün açılmış olması ise, son bakılan klasör olmasından dolayıdır

z

Klasor degistirme islemini opendialog.execute satirindan once yapiyorum.

Programi ilk calistirdigimda acilmasi ni istedigim klasoru ne tanitirsan onu duzgun aciyor. Sorun daha sonraki klasor ismi degisikliklerinde ortaya cikiyor.

Ustelik dedigim gibi bu sorun bazi gunler olmuyor.

Bununla ilgili bir trick okudugumu hatirliyorum. Trigi tam hatirlamiyorum ama klasor degismezse soyle soyle yapin diyordu.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

z

Opendialog.execute dialog menusunu harekete geciriyor.
Bir dosyayi secip open dedigimizde menu gorevini bitirmis oluyor ve ekrandan yok oluyor.

Acaba bu dialog kutusunun close olmasimidir? Yoksa sadece ekrandanmi yok olmasidir.

Bir dahaki sefere tekrar opendialog.execute dedigimde ayni dialog ekrana geliyorsa initialdir ise yaramiyor olabilir.

Dialog kutusunu close edecek ayri bir ozellik goremedigim icin dialog kutusunun secim ve onay ardindan otomatik close oldugunu dusunuyorum.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

z

Eger 1. klasoru actirir fakat open demeden iptal dersem,

Ardindan 2. klasoru actirirsam 2. klasor dogru olarak aciliyor.

Sorun klasoru actirir ve icinden bir dosyayi open dersem ortaya cikiyor.

Artik daha sonraki klasor degisiklikleri dialog kutusunu etkilemiyor.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

XOR

OpenDialog'a ait execute metodunu çağırmadan önce

OpenDialog.FileName   := '';

yaparsanız derdiniz çözülür. Siz initialDir'ı ne verirseniz verin FileName property'si doluysa FileName'e ait klasörü görüntüler.
Kolay Gelsin.

z

Dediginiz gibi

Opendialog.execute den hemen onceki satirda filename='' yapip ardindan da klasor adini set ettigimde artik dialog kutusu set edilmis klasor icerigi olarak gelmeye basladi.

Ne kadar teşekkür etsem azdir. Aylardir programda bug olarak kalan bu sorun nihayet cozuldu.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

XOR

Rica ederim. Çalışmalarınızı forumdan ilgiyle takip ediyorum.
Delphi kapsamında başka dert varsa yazın, vakit buldukça ilgilenmeye çalışırım.
Çalışmalarınızda başarılar.