AFAIK нет способа запросить специальную структурированную информацию для данного файла.
Что вы можете сделать, так это получить доступ к информации на панели структуры. Этот способ требует, чтобы файл был активным модулем (это может быть достигнуто OTA), вывод зависит от настроек панели структуры (Инструменты | Параметры ... -> Параметры среды | Проводник) и, если узел является полем, процедура или что-то еще должно быть определено по индексу изображения, родитель ...
Этот код проходит через панель структуры.
procedure StructureViewToSL(ASL: TStringList);
procedure TreeToSL(ANode: IOTAStructureNode; ASL: TStringList; const APrefix: string);
var
I: Integer;
begin
ASL.Add(APrefix + ANode.Caption);
for I := 0 to ANode.ChildCount - 1 do
TreeToSL(ANode.Child[I], ASL, APrefix + ' ');
end;
var
StructureView: IOTAStructureView;
StructureContext: IOTAStructureContext;
Node: IOTAStructureNode;
I: Integer;
begin
StructureView := BorlandIDEServices as IOTAStructureView;
StructureContext := StructureView.GetStructureContext;
for I := 0 to StructureContext.RootNodeCount - 1 do
begin
Node := StructureContext.GetRootStructureNode(I);
TreeToSL(Node, ASL, '');
end;
end;