Лоцман в режиме выбора объектов

Автор podshibyakinea, 27.01.16, 18:04:20

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

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

podshibyakinea

Появилась необходимость открыть Лоцман из Компаса в режиме выбора объектов,  для вставки обозначения какого-либо изделия/детали/сборочной единицы в ячейку штампа (материал).
Режим выбора объектов включается если Лоцман уже открыт, но самостоятельно не поднимается - почему ?
procedure TForm1.Button1Click(Sender: TObject);
var
iLN8:    ILoodsman8;
tMetodsWorkObject :  IMetodsWorkObject;
inReturnCode,  oleData, v1, v2,
  stErrorMessage : olevariant;
  stFilter,stFileName: string;
cdsDATAImport,cdsDATASPW : TClientDataSet;
swWM_EXTRACT_DOCUMENT,sfDataSet,ldLock,inReCount: integer;
begin
//Поднять лоцман:
  iLN8 := CreateOleObject('Loodsman.LoodsmanObject') as ILoodsman8;
  if (iLN8 = nil) then
          iLN8.lnGetConnectSP[$00000064, inReturnCode, stErrorMessage];
  tMetodsWorkObject := iLN8.lnMetodsWorkObject;
  if tMetodsWorkObject = nil then
   //Запросить выбор файла:
  stFilter := 'm3d,a3d,t3d'; // Фильтр по умолчанию для 3D
  tMetodsWorkObject.lnImportFileWithFile(inReturnCode,
  stErrorMessage, stFilter,swWM_EXTRACT_DOCUMENT, sfDataSet, ldLock, oleData, inReCount);
  //Вернётся датасет:
if (not VarIsNull(oleData)) and (not VarIsEmpty(oleData)) then
begin
   cdsDATAImport := TClientDataSet.Create(nil);
   cdsDATAImport.Data := oleData;
   stFileName :=
  cdsDATAImport.FieldByName('_FULLPATHEXTRACT').AsString;
  tMetodsWorkObject.lnImportObjectWithFile(v1, v2, sfDataSet, oleData, inReCount);
    if (not VarIsNull(oleData)) and (not VarIsEmpty(oleData)) then
       begin
         cdsDATASPW := TClientDataSet.Create(nil);
         cdsDATASPW.Data := oleData;

        end;
end;

end;

end.