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

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

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

Ответить
Аватара пользователя
McLion
постоялец
Сообщения: 332
Зарегистрирован: 06.02.2015 17:41:00

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

Сообщение McLion »

Всем привет,
что-то не могу понять следубщую вещь:
Задаю

Код: Выделить всё

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 КБ) 10744 просмотра
Аватара пользователя
Sharfik
энтузиаст
Сообщения: 836
Зарегистрирован: 20.07.2013 01:04:30

Сообщение Sharfik »

А если так:

Код: Выделить всё

if Assigned(ShellListView1.Selected) then
OpenDocument(ShellListView1.GetPathFromItem(ShellListView1.Selected));


Или разбить на работу с переменными?
Аватара пользователя
McLion
постоялец
Сообщения: 332
Зарегистрирован: 06.02.2015 17:41:00

Сообщение McLion »

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

Код: Выделить всё

procedure TMainForm.ShellListView1DblClick(Sender: TObject);
begin
  OpenDocument(ShellListView1.GetPathFromItem(ShellListView1.Selected));
end;


Теперь все работает, Assigned тоже. Но все равно спасибо!
Ответить