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

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 пользователей

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




×
×
  • Создать...