Страница 1 из 1

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

Добавлено: 14.05.2020 21:07:26
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" конечно дабавлена.

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

Добавлено: 14.05.2020 23:36:20
Sharfik
А если так:

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

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


Или разбить на работу с переменными?

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

Добавлено: 15.05.2020 16:50:18
McLion
Блииин, вот это лохотрон... не то событие взял. В даблклик нужно было это все, не увидел просто.

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

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


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