Skocz do zawartości

[Delphi]Wywoływanie SaveDialog


DJ Mentos

Polecane posty

Witam.

 

Mam wyjątkowo prosty kod, który spędza mi sen z powiek:

  if not (SaveDialog1.Execute) or (SaveDialog1.FileName = '') then
 begin
Result:=False;
exit;
 end;

Który po wywołaniu uruchamia komunikat "Wkładanie dysku": Proszę włożyć dysk do stacji E:\ (DVD-ROM). Taki napęd mam, ale nie korzystam z niego. Katalog, który jest otwarty w SaveDialog to Pulpit... Ktoś ma pomysł jak pozbyć się tego komunikatu?

Link do komentarza
Udostępnij na innych stronach

Po pierwwze polecam warunek ifa przenieść za Result:= ... a następnie robić if Resul then Exit lub dalszą część kodu (o ile to nie był fragment) dać po if Result then begin ... end; A i bez sensu jest w ogołe całe sprawdzanie czy nazwa pliku jest pusta. Ponieważ jeżeli nie podamy nazwy pliku i spróbujemy wcisnąć przycisk do zapisywania to i tak SaveDialog się nie zamknie. Natomiast z takim problemem jak opisujesz się nie spotkałem. Może należy zmienić InitialDir. I może ktoś coś lepszego i konkretniejszego jeszcze Tobie tutaj poleci.

Pozdrawiam: olesio

Link do komentarza
Udostępnij na innych stronach

  • 2 weeks later...

Do InitialDir przypisać

Extractfilepath(application.exename)

w oncreate formy

Chyba że gdzieś w rejestrze windy coś wskazuje na napęd zamiast tam gdzie powinno.

(może jakiś dziwny skrót na pulpicie(powiązany z DVD) daje taki efekt)?

W sprawnym systemie w każdym razie coś takiego nie występuje.

Kiedyś taki efekt występował, gdy trojan "kido" lub inny zapisujący na mediach wymiennych, usiłował się dostać do napędu.

Nie jesteś czasem nosicielem jakiegoś śmiecia ?

Ma ktoś jeszcze jakieś inne pomysły ? sam jestem ciekawy rozwiązania...

 

co do kodu to może w standardowy sposób?

 

if (savedialog1.Execute) and (savedialog1.filename<>'') then begin
//gdy wybrano plik, zapisujemy
end else begin
//gdy nie wybrano pliku, anulujemy
end;

Link do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

×
×
  • Utwórz nowe...