|
|
|
API-функции для работы с MathCAD
|
|||
|---|---|---|---|
|
#18+
Люди, помогите! У меня проблема с подключением к 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, но при попытке подключения этого файла через класвизард выдается ошибка о том, что это не совместимый файл! Что делать? Если эти функции описаны не здесь, то где? А если здесь, то как подключить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2003, 16:35 |
|
||
|
API-функции для работы с MathCAD
|
|||
|---|---|---|---|
|
#18+
Неужели больше ни у кого нет никаких мыслей по этому поводу. Вариантов где можно капать. Хотябы просто, кто знает как можно запустить MathCAD из своей программы - любым способом! Плизз! Для меня это очень важно! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2003, 11:35 |
|
||
|
API-функции для работы с MathCAD
|
|||
|---|---|---|---|
|
#18+
Сделай #import "mathcad.dll" Посмотри что он сгенерит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2003, 11:52 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=32348913&tid=2035639]: |
0ms |
get settings: |
10ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
63ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
| others: | 246ms |
| total: | 403ms |

| 0 / 0 |
