// Декларация пользовательского интерфейса для MathCAD 6.0. // (импорт из McadUser.dll) Unit McadUser; INTERFACE Uses Windows, McadUserTypes; //Регистрирует функцию в MathCAD, //после регистрации функция становится доступной для использования function CreateUserFunction(const h:HINST; // HANDLER для DLL var FInfo:FUNCTIONINFO // информация про функцию ):pointer; cdecl; // смысл возвращаемого значения неизвестно //Регистрирует таблицу текстовых сообщений об ошибках в MathCAD function CreateUserErrorMessageTable(const h:HINST; // HANDLER для DLL nErrorMessages:uint; // число сообщений const ErrorMessageTable:array of Pchar // таблица сообщений ):boolean; cdecl; // возвращает TRUE, если успешно. // Функции управления памятью function MathcadAllocate(size:uint):pointer; cdecl; // возвращает TRUE, если успешно. procedure MathcadFree( address:pointer ); cdecl; // Функции динамического выделения массива // - должна использоваться для размещения возвращаемого значения function MathcadArrayAllocate(var Complex_Array:COMPLEXARRAY; rows:uint; cols:uint; allocateReal:boolean; allocateImag:boolean ):boolean; cdecl; // возвращает TRUE, если успешно. // Функции динамического освобождения массива // - должна использоваться для освобождения массива при ошибке procedure MathcadArrayFree(var Complex_Array:COMPLEXARRAY); cdecl; // Функция сообщения о требовании пользователя прервать счет // Замедляет выполнение программы - использовать осторожно function isUserInterrupted:boolean; cdecl; IMPLEMENTATION function CreateUserFunction; external cMcadUser name 'CreateUserFunction'; function CreateUserErrorMessageTable; external cMcadUser name 'CreateUserErrorMessageTable'; function MathcadAllocate; external cMcadUser name 'MathcadAllocate'; procedure MathcadFree; external cMcadUser name 'MathcadFree'; function MathcadArrayAllocate; external cMcadUser name 'MathcadArrayAllocate'; procedure MathcadArrayFree; external cMcadUser name 'MathcadArrayFree'; function isUserInterrupted; external cMcadUser name 'isUserInterrupted'; END.