powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / API-функции для работы с MathCAD
4 сообщений из 4, страница 1 из 1
API-функции для работы с MathCAD
    #32340999
Люди, помогите!

У меня проблема с подключением к MathCAD через API-интерфейс.

Дело вот в чем, мен надо предать из моей программы переменную (например, диаметр) детали, в файл MathCAD, где производятся необходимые расчеты и в программу возвращается значение (например, диаметр пресса для детали). Я нашел материал по тому какие функции необходимо использовать и в общем-то с этим разобрался, но материал для Дельфи:

авторMathCAD2000 представляет четыре основных интерфеса :
Document = IMathcad;
Auto = IAuto;
MathcadApplication = IMathcadApplication;
DebuggingAuto = IDebuggingAuto;
Чтобы запустить MathCAD2000 и загрузить файл для расчета, необходимо на Delphi 5 написать такой программный код :
MAuto:=CreateOleObject('Mathcad.Auto');
MDoc:=MAuto.Open(GetCurrentDir+'\part1.mcd');
MMathcadApplication:=MDoc.Application;
MMathcad:=MMathcadApplication.ActiveDocument;
MMathcadApplication.Visible:=1;
После чего можно установить переменные и выполнить пересчет :
M1r:=70; M1i:=0;
MMathcad.SetComplex('in0',M1r,M1i);
MMathcad.Recalculate;
Application.MessageBox('Деталь пересчитана!','


В своем проекте в классвизарде я подключаю библиотеки типа mathcad.dll .tlb и др. в результате формируются заголовочные файлы такого содержания:

автор/ Machine generated IDispatch wrapper class(es) created with ClassWizard
/////////////////////////////////////////////////////////////////////////////
// IWrap wrapper class

class IWrap : public COleDispatchDriver
{
public:
IWrap() {} // Calls COleDispatchDriver default constructor
IWrap(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
IWrap(const IWrap& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}

// Attributes
public:

// Operations
public:
void Open(VARIANT* __MIDL_0015);
void OpenResourceCenter(VARIANT* __MIDL_0016);
LPDISPATCH GetActiveDocument();
};

class IIMathCad : public COleDispatchDriver
{
public:
IIMathCad() {} // Calls COleDispatchDriver default constructor
IIMathCad(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
IIMathCad(const IIMathCad& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}

// Attributes
public:

// Operations
public:
void MLoadFile(LPCTSTR Param1, LPCTSTR Param2);
void MCalculate(LPCTSTR Param1, BSTR* Param2);
void MClose();
};

И ВСЕ! И нет ни функции SetComplex, ниVisible, ни Recalculate! Когда провожу поиск содержанию файла, поисковик выдает, что подобные слова встречаются в библиотеке mathdll.dll, но при попытке подключения этого файла через класвизард выдается ошибка о том, что это не совместимый файл! Что делать? Если эти функции описаны не здесь, то где? А если здесь, то как подключить?
...
Рейтинг: 0 / 0
API-функции для работы с MathCAD
    #32348872
Неужели больше ни у кого нет никаких мыслей по этому поводу. Вариантов где можно капать. Хотябы просто, кто знает как можно запустить MathCAD из своей программы - любым способом! Плизз! Для меня это очень важно!
...
Рейтинг: 0 / 0
API-функции для работы с MathCAD
    #32348913
Tracer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделай #import "mathcad.dll"
Посмотри что он сгенерит
...
Рейтинг: 0 / 0
API-функции для работы с MathCAD
    #32357747
А не моглибы вы уточнить как делается этот #import - просто напистть или нужны какието настройки, а точто я эту библиотеку подключал через Class Wizzard разве не тоже самое?
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / API-функции для работы с MathCAD
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]