Jump to content

Recommended Posts

Добрый день!

Требуется написать простую программу взаимодействия Creo и Delphi.

Выполнил все действия согласно описанному в хелпе:

1. Добавил системную переменную PRO_COMM_MSG_Exe = "F:\Program Files\PTC\Creo 2.0\Common Files\M140\mech\x86e_win64\bin\PRO_COMM_MSG.EXE"

2. Добавил системную переменную PRO_DIRECTORY = "F:\Program Files\PTC\Creo 2.0\Common Files\M140\"

3. Запустил vb_api_register.bat

4. Написал следующий код: 

var
  ConnSession : IpfcbaseSession;
  win : IpfcWindow;
  session : IpfcBaseSession;
  asyncconnection : IdPfcAsyncConnection;
  Casync :  CpfcAsyncConnection;
begin
  ConnSession:= CreateComObject(IpfcBaseSession) as Connsession;
  session := ConnSession

end;

 

при выполнении кода пишет: EOleSysError - класс не зарегистрирован, хотя в реестре запись с GUID есть. 

 

Есть у кого рабочий код на Delphi что бы понять что я не так делаю, или укажите мою ошибку, пожалуйста. 

 

Link to post
Share on other sites


Onizuka

Com интерфейс к Creo капризный. Не всегда с первого раза работает. Надо поискать в документации как протестировать его работу...

 

По поводу Delphi есть такой вариант

https://www.gunsmoker.ru/2009/04/proengineer-delphi-aka-dll-delphi-lib.html?m=1

Link to post
Share on other sites
Onizuka

Во вложении JavaScript файл для Windows. Запустите его. В Creo должно появиться сообщение с именем модели текущей. Если не появилось, значит COM не настроили.

MessageBox.js

Link to post
Share on other sites
4 часа назад, Onizuka сказал:

Во вложении JavaScript файл для Windows. Запустите его. В Creo должно появиться сообщение с именем модели текущей. Если не появилось, значит COM не настроили.

MessageBox.js

Выдало сообщение Строка 4 Символ 1 Ошибка pfcExceptions::XToolkitNotFound Код 80020009.

 

Значит проблема в настройке COM

Link to post
Share on other sites
Onizuka
3 часа назад, Bacuk сказал:

Выдало сообщение Строка 4 Символ 1 Ошибка pfcExceptions::XToolkitNotFound Код 80020009.

 

Значит проблема в настройке COM

1) Проверьте наличие папки F:\Program Files\PTC\Creo 2.0\Common Files\M140\vbapi

2) vb_api_register.bat обязательно нужно запускать от имени администратора.

 

ps: Если нет острой необходимости писать на Delphi - тогда НЕ делайте этого. Если только основное приложение уже не написано на нем. Полезнее разобраться с JLink (Java API). Подробная документация и куча примеров. За неделю разберетесь. Чем мучатся скрещивать. Мало того, что нужно API осознать, дак потом еще и понять как на под Delphi адаптировать.

Link to post
Share on other sites

Папка есть. Запускаю от имени администратора, окно черное висит какое то время и закрывается. Черное окно пустое, никаких ошибок не выдает. 

 

В принципе можно написать на vbscript или delphi. Остальные языки в проекте не участвуют. Но сначала надо разобраться почему COM не работает. 

Link to post
Share on other sites

Возможно не запущен nmsd.exe. Сервис общения с крео. Порт 1239.

Попробуйте указать другой порт через системную переменную

 PTCNMSPORT=<порт>

Или антивирус или фаервол мешает

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    No registered users viewing this page.



  • Сообщения

    • gudstartup
      Если есть ошибки то значит станки не совсем аналогичные. Мы меняли диски  и никаких проблем не возникало. Если у вас есть возможность и станки действительно == то установите этот диск с исправного станка на ваш проблемный  предварительно на всякий случай сняв с него образ. Если ваш диск умер не физически то можете попробовать восстановить его разделы.  Вот и весь рецепт.   И еще посмотрите диагностику шины на вашем аналогичном станке я думаю это многое прояснит
    • Горыныч
      Премного благодарен за совет. Это вообще отличительная черта многих индивидов из 1/6 части суши: раздавать окружающим советы, о которых никто не просил и рассуждать о материях, недоступных (и даже малопредставляемых).
    • EvgeniiSm
      Умер жёсткий диск, но перед эти успели снять Бэкап, но не образ. Накатили на новый жёсткий диск образ системы с другого аналогичного станка, и восстановили на него бэкап, стал загружаться, но после загрузки и нажимания кнопки CE и внутренних проверок выдаёт 3 ошибки по Profibus, а конкретно по Cube 67.   1)19239 - Ошибка Profibus в циклическом режиме. 2)800 - 701336 Процесс конфигурации Cube 67 узел 1 3)820 - 701815 Cube 67 Неисправность конфигурации и параметров. Пробовали загружать разные конфигурации которые находятся в нашем бэкапе, не помогает. Сам блок Cube 67 горит красным, и на других блоках в который идёт провод от Cube 67, моргает зелёным. Может быть кто сталкивался и что может подсказать. Спасибо.
    • SashaPizuk
      Спасибо,буду пробоватью
    • maxx2000
      Вызвал, отработал с включённой G91, потом вызвал G90  и опять вызвал G91, так чтоле?
    • Anat2015
      Все эти китайские чюды-юды под Фанук отличаются только одним: отсутствием вменяемой доки, и, если договор составлен полуграмотно, покупатель остается наедине со всеми загадками этой чудо-техники. Толковые спецы может и разберутся со временем со всем этим, а что делать другим?
    • mannul
      @denis310883 Что-то бред какой-то с кинематикой. У вас что, шпиндель по оси Y перемещается. На горизонтально-фрезерных шпиндель перемещается по Z или W. И кинематика такая же как на вертикально-фрезерном, просто шпиндель горизонтально. А поворотный стол B крутится вокруг оси Y. Для горизонтально-фрезерного кинематика такая:
    • mannul
      @SashaPizuk К сожалению у меня PM 2020. Проект не открывается. По поводу неправильных дуг - возможно поможет для координат X,Y,Z ПКМ->Output to tape->Always. И выключи поддержку дуг не в плоскостях:
    • maxems
      Т. е. у вас возмущение измеряется количеством нулей? Это уже хорошо. Это уже математический подход к вопросу.   Но трудно согласиться с тем, что для человека 100 млн долларов и 3 млрд рублей это как бы разные цифры. Если у человека нет таких денег. И он их никогда в глаза не видел. Вот я их не видел. Для меня это одинаковые цифры. Это ощутительно много :)  
    • maxems
      Ну так и вызови ее один раз. Можешь?
×
×
  • Create New...