Падает при назначении ksVariableCollection

Автор graphdark, 03.06.21, 07:53:15

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

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

graphdark

В 19ом код работает. В 18 падает в access violation на этих строках.

  iPart := ksPart(iDoc3D.GetPart(pNew_Part));
  iUserParam := ksUserParam(ikompas.GetParamStruct(ko_UserParam));
  iUserParam.number := 1;
  iPart.standardComponent := true;
  iPart.name := Name;
  iPart.filename := path + filename;
  iRequestInfo3D := ksRequestInfo3D(iDoc3D.GetRequestInfo(iPart));
  iRequestInfo3D.prompt := 'Укажите положение стандартного изделия';
  iRequestInfo3D.SetCallBack('SELECTCALLBACKPROC', hinstance, nil);
  iRequestInfo3D.SetFilterCallBack('SELECTFILTERPROC', hinstance, nil);
  iRequestInfo3D.CreatePhantom;
  phantom := ksPart(iRequestInfo3D.GetIPhantom);
//  phantom1 := ksFeatureCollection(iRequestInfo3D.GetIPhantom);
  VarCol := ksVariableCollection(phantom.VariableCollection);
      ShowMessage('here');
  count := VarCol.GetCount();

конкретно на строке   VarCol := ksVariableCollection(phantom.VariableCollection); Что не так?

graphdark

Решение нашел сам. Проблема была в том, что модели из программы пакетного сохранения неверно конвертировались в версию 18. Отсюда и проблемы.