в простом примере только с
ShellPath: TJamShellCombo;
ShellList: TJamShellList;
ShellLink: TJamShellLink;
при выборе в ShellPath другой папки вылетает ошибка "a call to an os function failed"
По стеку ходить не помогает
Ломается в
function TJamShellListItem.Compare(pItem2: TJamShellListItem): Integer;
становится на Compare
// if it`s the name column, the variant texts were empty or not vista, use CompareIDs
try
Result := Compare(pItem2.RelativePIDL);
// if CompareIDs fails, we have to compare by subitems or captions
except on EOSError do
Result := CompareOnEOSError(pItem2);
end;
Что делать? В интернете ничего путного не нашла. В D7 работает, но тексты компоненты сильно поменялись
В дистрибутивном примере достаточно поменять у ShellList: TJamShellList свойство ViewStyle с vsReport на vsList и выбрать папку, как прилетает капец. Какие уж тут CoInitialize )
Ну ты по стеку посмотри на момент исключения какая трасса исполнения была?
Смотрела. Там поинтеры сравниваются в цикле поиска каких-то вин-итемов. Не находиться и генериться ексепшен. Похоже придётся переводить с Д7 на Д11. И это может оказаться проще, чем найти в этих глюках
Я это...чот реализации compare функции не вижу для итемов, она аще есть?) а то если так смотреть, выглядит как рекурсия которая ничего не делает)
Вот сейчас result<0 и будет бадабум)
Обсуждают сегодня