Перейти к публикации

Pro\Toolkit, Java, VBA


VitAl2013

Рекомендованные сообщения

Всем привет!

Товарищи, подскажите, пожалуйста, как можно наладить загрузку своего модуля (dll-ки) в Creo Parametric (ProEngineer). Все время тестировал из Visual Studio и Creo запускался с той же рабочей директорией, в которой лежал моя dll-ка. Хотелось бы сделать более независимый запуск. Перепрописываю настройки в protk.dat с абсолютными путями для dll-ки и каталога text, запускаю Creo, иду в раздел Auxiliary Applications, пытаюсь регистрировать свою dll-ку, но она не запускается. Просто пишет failed to start.

Вот dat-ничек

name CreoTezt

startup dll

exec_file E:\Rel\pt_inst_test.dll

text_dir E:\Rel\

allow_stop true

delay_start false

end

Это может быть связано с тем, что я использую сторонние dll-ки, например Qt? И он их (Creo), зараза такая, не может подгрузить? Сами dll-ки я кладу, соответственно, рядом со своей dll-кой (в папку Rel)

Что скажите, господа? ))

Ссылка на сообщение
Поделиться на других сайтах


Запусти отладчик и проверь.

Сделай так

оставь protk.dat но в нем измени вот эти строки

delay_start true

что позволит не запускать Dll вр время запуска Прое.

Потом в VS сделай так.

Присоеденись к процессу xtop.exe

и запускай отладчик.

Затем в прое запусти свое приложение через Подлючаемые модули.

Ссылка на сообщение
Поделиться на других сайтах

Запусти отладчик и проверь.

Сделай так

оставь protk.dat но в нем измени вот эти строки

delay_start true

что позволит не запускать Dll вр время запуска Прое.

Потом в VS сделай так.

Присоеденись к процессу xtop.exe

и запускай отладчик.

Затем в прое запусти свое приложение через Подлючаемые модули.

кстати, спасибо за совет. А то я как-то уже задумывался на тему: "как сделать так чтобы можно было отследить в отладчике момент загрузки модуля". Но тогда я не обратил внимание на ключ delay_start.

Что касается моего вопроса. Я уже по другому проверил. Оказывается в Creo есть огромная кнопка Select Working Directory (см. приложение). Если указать рабочую директорию как E:\Rel (в моем случае), то все начинает работать. Но теперь бы надо узнать - это обязательный ритуал или его как-то можно обойти, чтобы каждый раз не проделывать это. Может быть, кто-нибудь все-таки сталкивался с тем как регистрировать модули в произвольном месте?

post-32063-1316785094.png

Изменено пользователем mannyz
Ссылка на сообщение
Поделиться на других сайтах

Папочка text есть?

она должна быть в папке E:\Rel

еще попробуй dll библиотеки скопировать в папку windows\system32

Ссылка на сообщение
Поделиться на других сайтах

Папочка text есть?

она должна быть в папке E:\Rel

еще попробуй dll библиотеки скопировать в папку windows\system32

Все есть. Все работает, если в самом Creo задать рабочую директорию в в виде той, где лежит мой модуль.

Сейчас попробую через отладчик проследить чего там происходит...

А чего я собрался смотреть? Он же ведь до моей dll-ки не доходит.

Пока получается так. Если пытаюсь подгрузить в ручную свой модуль из E:\Rel, то нифига не получается. Просто мое приложение не запускается. Если потом поменять рабочую директорию, то все запускается. Но оно и понятно.

В чем может быть дело? Неверное заполнение путей в dat-файле? Хотя потом-то (с верным раб.каталогом) все запускается.

Изменено пользователем mannyz
Ссылка на сообщение
Поделиться на других сайтах

В чем может быть дело? Неверное заполнение путей в dat-файле? Хотя потом-то (с верным раб.каталогом) все запускается.

Хорошая новость! Я разобрался. Но уже поздно и мне надо идти домой, поэтому позже отпишусь. Если это вообще кому-либо интересно ))

А у меня, кстати, еще вопрос есть - кто-нибудь делал "свои собственные ленты" (ribbon) так, чтобы поддерживалось несколько языков (например, рус. и англ.). Мультиперевод для группы в ленте у меня как-то страдает - только либо русский, либо английский. При этом подставляемый язык не зависит от того, который стоит в Creo. Я пытался делать так: для обоих языков создаю свои ленты, сохраняю их и перебрасываю в соотвествующие папочки с названием языка (все естественно внутри text). Но нифиги не работает как надо.

post-32063-1316790111_thumb.png

Изменено пользователем mannyz
Ссылка на сообщение
Поделиться на других сайтах

Ресурсник в ПроЕ только один, на английском. В локализациях только перевод (файлы соответствия (обычно текстовые).

Ссылка на сообщение
Поделиться на других сайтах

Ресурсник в ПроЕ только один, на английском. В локализациях только перевод (файлы соответствия (обычно текстовые).

Я понимаю. А как мне тогда сформировать этот файл соответствия для названия группы в ленте (ribbon)?
Ссылка на сообщение
Поделиться на других сайтах
  • 2 года спустя...

Всем привет!

 

очень прошу переслать мне видео, которое здесь выкладывалось несколько раз...

 

jenytavr@yandex.ru

 

Большое спасибо!


У меня еще один вопрос ...при разработке с помощью protoolkit полученные примочки будут работать на машинах в которых не предусмотрена лицензия Protoolkit& 

Ссылка на сообщение
Поделиться на других сайтах

Подскажите, пожалуйста, как создать свой компонент ленты (ribbon) с кнопками, каков формат текстового файла?

Ссылка на сообщение
Поделиться на других сайтах
  • 1 год спустя...

RES файлы толкита отличаются от виндовских

и их нельзя редактировать в студии

только ручками и через блокнотик.

Если я хочу сделать большое диалоговое окно, неужели весь этот рез-файл надо руками в блокноте набирать. Должен наверно быть какой-то редактор ресурсов для Тулкита, где можно создавать и редактировать ресурсы?

Ссылка на сообщение
Поделиться на других сайтах

А почему бы не попробовать GUI WinApi ?  Я планирую при случае заняться этим вопросом. Думаю, всяко получше, чем с тулкитовскими окнами морочиться.

Ссылка на сообщение
Поделиться на других сайтах

А почему бы не попробовать GUI WinApi ?  Я планирую при случае заняться этим вопросом. Думаю, всяко получше, чем с тулкитовскими окнами морочиться.

Покопался сейчас в этом, вроде есть смысл, даже есть редактор ResEdit.

Надо будет тоже глянуть в этом направлении. Все проще чем в блокноте ковырять непонятно чего.

Так как не программист, в первом приближении понял, что типа мы создаем этой прогой ресурсы в виде допустим тех же диалоговых окон.

А потом с помощью WIN API уже в тулките на с++ их юзаем.

Я правильно понял?

Ссылка на сообщение
Поделиться на других сайтах

Попробовал через тот редактор ресурсов сделать, запускаешь функцию создания диалогового окна и прое вылетает...

 

 

#define IDD_DIALOG1 100


//INT_PTR CALLBACK DialogProc(HWND hwndDlg,UINT uMsg,WPARAM wParam,LPARAM lParam);

LPCWSTR DlgName = MAKEINTRESOURCEW(IDD_DIALOG1);

INT_PTR CALLBACK DialogProc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam)
{
switch(uMsg)
{
case WM_CLOSE:{EndDialog(hWnd, 0);break;}
default: return FALSE;
}
return TRUE;
}

ProError ProTestDialogCreate(ProBoolean is_successful)
{
ProError status;

HINSTANCE hInstans=GetModuleHandle(NULL);
DialogBoxParamW(hInstans, DlgName, NULL, DialogProc, (LPARAM) NULL);

Ссылка на сообщение
Поделиться на других сайтах

Я пробовал год назад - вроде выводилось диалоговое окно (модальное). На эту тему рекомендуют почитать "Win32 API Эффективная разработка приложений" Юрий Щупак (есть в Сети), сам правда еще не читал. Вот еще прилагаю лекции (по-моему, толковые, кто автор - не знаю).

Win Api Visual C++ MFC.doc

Ссылка на сообщение
Поделиться на других сайтах

А-а, вот где собака порылась:

HINSTANCE hInstans=GetModuleHandle(NULL);

 

Здесь должен быть не NULL, а имя приложения Toolkit, например GetModuleHandle("test.dll"); чтобы диалоговое окно "привязывалось", или в терминологии Windows (если не ошибаюсь) было дочерним по отношению к окну ProE.
 

Ссылка на сообщение
Поделиться на других сайтах

Спасибо, заработало. Который раз уже выручаешь.


Теперь можно все свои внешние проги для прое в тулкит запихнуть. 

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




  • Сообщения

    • Fedor
      Повторение  мать учения. Что делать если до вас не доходит с одного раза.  Приходится повторять про две основные алгебраические задачи.  Куроша что ли почитайте :)    " как найти первые собственные числа и вектора для разреженных матриц" на то много книжек есть... 
    • Killerchik
      Вот это интересно....    Вроде бы не так много, учитывая Z14. Нехорошо, но можно и забить.
    • Solidman
      Из справки SolidWorks Вы можете переключаться между режимами отображения твердых тел и тел поверхности, переместив указатель на тело в графической области и нажав Tab для скрытия или Shift + Tab для отображения.  Кроме того, можно отобразить одно или несколько скрытых тел. Для этого переместите указатель в графическую область, затем нажмите и удерживайте сочетание клавиш Ctrl + Shift + Tab. Скрытые тела временно отображаются как прозрачные. Чтобы вернуть их в режим отображения, нажмите на них.
    • UkulyAlex
      Да не очень то удобно, у более сотни позиций замочки снимать,  ставить свой номер.... Ну да ладно, чтобы остальные позиции не менялись, просто добавляю дочернии пустые записи удаленных элементов с соответствующим номером. Правда после каждого обновления отчёта, приходится эти записи из таблички спецификации удалять.  Зато остальные позиции не меняют номеров....
    • ДОБРЯК
      Вы крутите одну шарманку. Уже третий раз про это сказали в этой теме. :=) Разговор должен по спирали развиваться. Если вы знаете как найти первые собственные числа и вектора для разреженных матриц, то напишите.  А если только знаете как находить корни характеристического полинома, то напишите про это еще 20 раз. :=)  
    • DuS
      Народ, подскажите, вроде бы видел макрос который разблокирует солид, но не могу его найти. Забодал после разных команд блокируется и ни в какую!!!! Пишет что "текущую операцию невозможно прекратить..."
    • Fedor
      Нахождение собственных чисел это нахождение корней характеристического полинома и при порядке выше 4 требует бесконечных итераций. А решение линейных систем уравнений требует  конечного числа шагов. Кроме того есть и метод вращений Якоби. Для нахождения главных значений тензора и их направлений , кстати, очень хорош в механике деформируемого тела :) 
    • Onizuka
      а) Вложенные таблицы семейств плохо сказываются на производительность. По возможности, сведите все в одну таблицу б) Создайте ускорители экземпляров. С вложенными таблицами тоже быстрее должно стать.
    • mml35
      Если интересно то мои наблюдения: Работала версия 8.08 (год) потом 8.09 (0,5 года) и все было норм. В первой половине марте комп сделал обновления win. (win10) Поcле этого началось. Сначала перестал открывать одну сборку. Виснет и все. Другие норм. Открыл ее с ноута (win7) версия Creo та же. Открылось норм, но с ошибками. Пересобрал. После этого открыл и с компа Win10. Но именно с этого времени и началось как у Вас. При этом в папке, из которой открываешь сборку формируется файл prt с аброкадаброй в названии -  5o259bk5gfgcs06kpl9o2e6ag0.prt.1. Потом удаляю его в ручную. Решил что обновление кривое. Переустановил win (февральская сборка ) с отключением обновлений. Ничего не изменилось, видимо не в обнове дело, просто совпало, но при этом где - то именно с этого времени перестала открываться справка инетная (хотя может и раньше так было, просто не заметил). Работает только локальная. Если при запуске (через txt стартовых настроек) не убивать окна, то именно в это же время появилась надпись, что мол ошибка соединения Creo (раньше так точно не было).  Пришлось создать маленькую сборку из 3х- пластин, ее открывает всегда. Открываешь, покрутишь ее секунд 30 - закрываешь. Потом все сборки отрываются норм. Если поторопится и покрутить сборку мало по времени (например 5-7 сек), то виснет прямо при закрытии сборки. Ситуация однотипна для всех трех компов с разным железом (дом/работа/деревня) и только на ноутбуке (самый слабый 4 -ый комп, который не принимает Win10 поэтому стоит win7) нет ни одного глюка. Если что то ломается на win10 и вообще не хочет открываться, беру папку на ноут - открываю, потом и на других компах с win10 открывается норм.  Может быть это связка - версия и обнова винды/обнова Creo + политика Creo и Win в связи с СВО к России. Включение VPN ничего не меняет справка Creo не доступна, только локально установленная.
    • ДОБРЯК
      Задача одна. Задача не менялась. Найти первые собственные числа и вектора для двух разреженных матриц К и М. Степенной метод это ближе к решению поставленной задачи. Если матрица М единичная, то обратной матрицы искать не нужно. :=) Но вопрос в другом. Какие собственные числа находит степенной метод? Смекаете о чем я говорю?:=) И что нужно изменить в степенном методе, чтобы найти ПЕРВЫЕ собственные числа и вектора?  
×
×
  • Создать...