Delphi - problem z OpenDialod i SaveDialog

0

Witam

Programuje w Delphi 7. Od pewnego czasu zauważyłem, że gdy napiszę procedurkę korzystającą z OpenDialog lub z SaveDialog i otwieram przy jej pomocy jakiś plik odczytuję (lub zapisuję) dane to za pierwszym razem wszystko jest OK natomiast przy próbie powtórnego użycia tego pliku program wiesza się.

Przykładowa procedura dla pliku tekstowego:

procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
Lista.Items.LoadFromFile(OpenDialog1.FileName);
end;

przy pierwszym naciśnięciu przycisku jest OK lista zapełnia się danymi z pliku natomiast naciskając przycisk ponownie pojawia się błąd:

Project C:\ ... \Project1.exe faulted with message:'access violation at 0x7ca4e035: read of address 0x01432758. Process Stopped. Use Step or Run to continue.

Sytuacje identyczne są opisane w poniższych linkach ale nikt nie dał konkretnej odpowiedzi:

http://www.programuj.com/forum/viewtopic.php?p=9263&sid=c99eb7b6ce1dfaa7dfe8f76cf0467a90

http://forum.ks-ekspert.pl/index.php?showtopic=83847

Co ciekawe dzieje się to tylko przy otwieraniu lub zapisie plików z pulpitu.
Gdy plik znajduje się w innej lokalizacji ten problem nie występuje.

Gdy zmienię w przykładowej procedurce sposób pobierania nazwy pliku na:

procedure TForm1.Button1Click(Sender: TObject);
begin
Lista.Items.LoadFromFile(Edit1.Text); // w edit1 ścieżka do pliku
end;

problem nie występuje.

Dzieje mi się tak na dwóch komputerach połączonych w sieć.
Ktoś w podanych linkach wspomniał ,że być może dzieje się to u niego po zainstalowaniu komponentu ComPort, ja ten komponent mam także zainstalowany.

Przeinstalowanie delphi nic nie zmienia, instalowanie delphi bez comport też nic.

Nie chce przeinstalowywać systemu!

Co robić ?

0

Hmm nie wiem..może powinieneś zwalniać te komponenty?
OpenDialog1.Free;
SaveDialog1.Free;

;]

0
Wojtek_Wojtek napisał(a)

Przeinstalowanie delphi nic nie zmienia, instalowanie delphi bez comport też nic.

Nie chce przeinstalowywać systemu!

Co robić ?

Nie ująłeś kilku innych możliwości:

  • Zmiana IDE
  • zainstalowanie zupełnie innego systemu operacyjnego (Linuxa :P) - a to nie jest przeinstalowanie starego systemu ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1