Всем привет!
Столкнулся с проблемой при разработке собственных встроенных функций в mathcad 15. В старых версиях mathcad успешно пользовался для создания dll компилятором borland c++. А здесь перекомпилировал dll, сделал описания, но mathcad 15 их все равно не видит. Если кто-нибудь сталкивался с проблемой - откликнитесь.
разработка встроенных функций в mathcad-15
Модератор: Admin
-
- Сообщения: 3
- Зарегистрирован: Пн янв 06, 2014 12:28 am
-
- Сообщения: 3
- Зарегистрирован: Пн янв 06, 2014 12:28 am
uni писал(а):Выложите проект на dropbox или аналогичном хостинге, посмотрим.
Видимо, дело не в проекте и не в совместимости borland-mathcad15. Та же история с проектом cmplxsum из примеров. Откомпилировал его в VS2005,компиляция прошла успешно, дальше, как положено: dll - в папку userefi, описание в файле user_EN. Открываю mathcad - функция в списке встроенных отсутствует. Из функций пользователя mathcad видит только DIGAMMA.DLL и KRONECKR.DLL, но для них исходников нет. Может это связано с какими-нибудь особенностями работы mathcad15 в win-7? Вообще, по какой причине mathcad может игнорировать dll в папке userefi? Искал такую проблему, где только можно, включая их сайт ptc, странно, но о такой проблеме даже не упоминается.
-
- Сообщения: 1817
- Зарегистрирован: Сб ноя 13, 2004 3:06 pm
- Откуда: п.г.т. Излучинск
- Контактная информация:
Причина может быть в lib-файле, который идёт в составе дистриба. Я давно использую динамическую загрузку mcaduser.dll, изменив для этого немного mcadincl.h.
Mathcad может игнорировать пользовательские библиотеки, если они не загружаются. Либо, если не отрабатывает функция CreateUserFunction.
Вообще, отладчик студии может подсказать в чём дело. Можно открыть проект, указать целевое приложение, поставить точку останова на DllMain и запустить отладку. Когда Mathcad загрузит dll, то отладчик встанет на точке останова, далее нужно прошагать до кода регистрации функции и посмотреть что она возвращает.
В общем, можно сначала отладить в VS, а потом уже в борланде пробовать.
Mathcad может игнорировать пользовательские библиотеки, если они не загружаются. Либо, если не отрабатывает функция CreateUserFunction.
Вообще, отладчик студии может подсказать в чём дело. Можно открыть проект, указать целевое приложение, поставить точку останова на DllMain и запустить отладку. Когда Mathcad загрузит dll, то отладчик встанет на точке останова, далее нужно прошагать до кода регистрации функции и посмотреть что она возвращает.
В общем, можно сначала отладить в VS, а потом уже в борланде пробовать.
-
- Сообщения: 3
- Зарегистрирован: Пн янв 06, 2014 12:28 am