Mam na formie komponent TShellListView, który wyświetla mi listę plików. Program obsługuje zdarzenie klik komponentu i powinien odczytać z komponentu nazwę wybranego pliku i tą nazwę przekazać do komponentu TShellListView, właściwość FileName. I co się dzieje, jak zrobię tak jak napisałem to lipa, system wyświetla okienko że nie może otworzyć pliku o podanej nazwie. Więc dorzuciłem do formy OpenDialog, jego właściwość FileName przypisałem do tej samej zmiennej co zmienna z TShellListView i uruchomiłem program. I wszystko chodzi super, co jest i tu jest String(OpenDialog.FileName) i z komponent TShellListView też pobieram Stringa, ale z TShellListView nie działa. Oczywiście robię to wszystko w Lazarusie
Procedura pobierająca z TShellListView (nie działa)
procedure TfrImport.plikiClick(Sender: TObject);
var
plik : String;
begin
plik := ExtractFilePath(Application.ExeName);
if pliki.SelCount > 0 then plik:=plik + pliki.LastSelected.Caption;
sb.Panels[1].Text := plik;
dm.dsCSV.FileName:=plik;
dm.dsCSV.Active:=True;
end;
Procedura z OpenDialog - działa
procedure TfrImport.plikiClick(Sender: TObject);
var
plik : String;
begin
plik := ExtractFilePath(Application.ExeName);
if pliki.SelCount > 0 then plik:=pliki.LastSelected.Caption;
sb.Panels[1].Text := plik;
OpenDialog1.Execute;
plik := OpenDialog1.FileName;
dm.dsCSV.FileName:=plik;
dm.dsCSV.Active:=True;
end;