В Энциклопедии рекомендуется спрашивать необходимый размер памяти, затем её выделять, затем передавать её вbuniak_a_h wrote: ↑Tue 27 Oct, 2020 04:00Такое не считается быстрым? Прошу прощения, если в синтаксисе напорол - на C с 94-го года прошлого тысячелетия не писал… Но идея понятнаCode: Select all
PanelControl(PANEL_ACTIVE, FCTL_GETPANELITEM, i, &pri); if (pri->item.FileAttributes & FILE_ATTRIBUTE_DIRECTORY = FILE_ATTRIBUTE_DIRECTORY)
PanelControl
(а потом освобождать). Когда требуется получить атрибуты всех элементов панели, такой подход становится неоправданно ресурсоёмким.Если никакие данные переменного размера (имя, описание и т.п.) не интересуют, допустимо ли установить
FarGetPluginPanelItem::Size
в sizeof(PluginPanelItem)
и рассчитывать, что Фар вернёт корректно заполненные поля, не являющиеся указателями? (И пусть бы себе в этом случае все указатели возвращались нулевые.)