ShellListView1.GetPathFromItem - в чем прикол?

Общие вопросы программирования, алгоритмы и т.п.

Модератор: Модераторы

ShellListView1.GetPathFromItem - в чем прикол?

Сообщение McLion » 14.05.2020 22:07:26

Всем привет,
что-то не могу понять следубщую вещь:
Задаю
Код: Выделить всё
procedure TMainForm.Button1Click(Sender: TObject);
begin
  ShowMessage(ShellListView1.GetPathFromItem(ShellListView1.Selected));
end;


и получаю все как следеует, имя файли и соответвенно абсолютную дерикторию, а вот задаю

Код: Выделить всё
procedure TMainForm.ShellListView1Change(Sender: TObject; Item: TListItem;
  Change: TItemChange);
begin
  OpenDocument(ShellListView1.GetPathFromItem(ShellListView1.Selected));
end;


И получаю ошибку, причем уже при компиляции, то-есть прога даже не стартует.

Не подскажите в чем проблема? Библиотека "lclintf" конечно дабавлена.
Вложения
error.png
error.png (17.29 КБ) Просмотров: 4561
Аватара пользователя
McLion
постоялец
 
Сообщения: 332
Зарегистрирован: 06.02.2015 18:41:00

Re: ShellListView1.GetPathFromItem - в чем прикол?

Сообщение Sharfik » 15.05.2020 00:36:20

А если так:
Код: Выделить всё
if Assigned(ShellListView1.Selected) then
OpenDocument(ShellListView1.GetPathFromItem(ShellListView1.Selected));


Или разбить на работу с переменными?
Аватара пользователя
Sharfik
энтузиаст
 
Сообщения: 760
Зарегистрирован: 20.07.2013 01:04:30

Re: ShellListView1.GetPathFromItem - в чем прикол?

Сообщение McLion » 15.05.2020 17:50:18

Блииин, вот это лохотрон... не то событие взял. В даблклик нужно было это все, не увидел просто.

Код: Выделить всё
procedure TMainForm.ShellListView1DblClick(Sender: TObject);
begin
  OpenDocument(ShellListView1.GetPathFromItem(ShellListView1.Selected));
end;


Теперь все работает, Assigned тоже. Но все равно спасибо!
Аватара пользователя
McLion
постоялец
 
Сообщения: 332
Зарегистрирован: 06.02.2015 18:41:00


Вернуться в Общее

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 7

Рейтинг@Mail.ru