Друзья, всем здравствовать.
Коллега не может подключиться через COM к Solid.
Вроде бы задача проста, как бульдозер.
Перем longstatus,longwarnings;
swApp = Новый COMОбъект ("SldWorks.application");
swApp.Visible=Истина;
longstatus=0;longwarnings=0;
swApp.OpenDoc6("D:\radial_roller_bearing_tfm.sldprt",1,0,"",longstatus,longwarnings);
....
swApp.ExitApp();
ОШИБКА:
swApp.OpenDoc6("D:\radial_roller_bearing_tfm.sldprt",1,0,"",longstatus,longwarnings);
по причине:
Типы не совпадают (5)
Погуглил, но ответа не нашел.
Подобная тема поднималась аж 2006 году.
v8: 1С8 + SolidWorks
v8: Как сделать тип Long для VB
но автор решил не делиться решением проблемы.
Описание процесса на Delphi
мне не дал результата.
Курили help по API Solid-а , тоже невнятно.
Записали макрос на самом Solid
Dim swApp As Object
Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Sub main()
Set swApp = _
Application.SldWorks
Set Part = swApp.OpenDoc6("D:\radial_roller_bearing_tfm.sldprt", 1, 0, "", longstatus, longwarnings)
swApp.ActivateDoc2 "radial_roller_bearing_tfm", False, longstatus
Set Part = swApp.ActiveDoc
....
....
End Sub
Макрос отрабатывает без ошибок.
Делаю точку останова на строке OpenDoc6() и см. значения переменных longstatus и longwarnings .
У обоих = 0.