• Добро пожаловать на Форум пользователей ПО АСКОН. Пожалуйста, авторизуйтесь.
 

Уважаемые пользователи,

Хотим проинформировать вас о режиме работы регистрации на нашем сайте.

Зарегистрироваться возможно в рабочие дни, с 8:00 до 20:00 (мск).

Если у вас возникнут вопросы или потребуется дополнительная информация, не стесняйтесь обращаться к нашей службе поддержки. Вы можете связаться с нами по указанным контактным данным на нашем сайте.

Благодарим вас за понимание и сотрудничество. Мы ценим ваше терпение и стремимся предоставить вам лучший опыт использования нашего сервиса.

С уважением,
Команда Ascon

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

Автор 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

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

Сенькс.