Как получить полное имя файла активного документа?

Автор DonVik, 21.05.09, 12:51:29

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

DonVik

Здравствуйте, мне нужно получить полное имя файла активного документа.
Пишу на Делфи, делаю так:
Получаю интерфейсы нужные:

var
KompasApplication:IDispatch;
KompasActiveDocument:ksDocument2D;
KompasObjectA:KompasObject;
DocumentParam:ksDocumentParam;
...
KompasApplication:=GetActiveOleObject('KOMPAS.Application.5');
KompasObjectA:=KompasObject(KompasApplication);
KompasActiveDocument:=ksDocument2D(KompasObjectA.ActiveDocument2D);

DocumentParam:=ksDocumentParam(KompasObjectA.GetParamStruct(ko_DocumentParam));
   result:=DocumentParam.fileName


result содержит пустую строку, хотя я открыл файл CDW с диска С:\

Как правильно получить имя файла?

Slaviation

...
DocumentParam:=ksDocumentParam(KompasObjectA.GetParamStruct(ko_DocumentParam));
KompasActiveDocument.ksGetObjParam(KompasActiveDocument.reference, DocumentParam, ALLPARAM);
result:=DocumentParam.fileName

DonVik

А-а-а...
Я его типа создал, но не работал с ним, ясно.
Все время забываю что тут нужно интерфейсы сначала получать а потом их обрабатывать.

Сенькс.