Помогите!!! Получение имени файла открытого текстового документа

Автор SDV, 06.04.07, 00:34:43

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

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

SDV

Срочно нужна помощь!!! Буду очень признателен, если получу ответ.
Delphi, КОМПАС v.8 Plus.
Пытаюсь получить имя файла активного текстового документа (ActiveDocumentTxt) по аналогии с ActiveDocument2D, - там все работает нормально. Код такой:

var
  iKompas : KompasObject;
  iTDoc : ksDocumentTxt;
  iDocParam : ksDocumentParam; 
...
begin
...
  iTDoc := ksDocumentTxt(iKompas.ActiveDocumentTxt);
  iDocParam := ksDocumentParam(iKompas.GetParamStruct(ko_DocumentParam));
  iDocParam.Init;
  iTDoc.ksGetObjParam(iTDoc.reference, iDocParam, ALLPARAM);
  // Здесь ожидаю увидеть в iDocParam.fileName имя файла, но получаю пустую строку.

Кроме того, (проверял) и  iTDoc.ksGetObjParam(...) возвращает ошибку (т.е. 0).
Подскажите, где ошибка ?!

333

Нужно брать не ksDocumentParam а ksTextDocumentParam
itxtDocParam : ksTextDocumentParam;

itxtDocParam := ksTextDocumentParam(iKompas.GetParamStruct(ko_TextDocumentParam));
iTDoc.ksGetObjParam(iTDoc.reference, itxtDocParam , ALLPARAM);

SDV

Огромное спасибо !
Видно все нюансы мыслей разрабтчиков КРМПАС можно постичь только
опытным путем.

Алекс

А можно узнать что означает параметр "ALLPARAM" в строке iTDoc.ksGetObjParam(iTDoc.reference, itxtDocParam , ALLPARAM);
Заранее благодарен!