ЗАДАНИЕ XXXI
Тема: Изучение работы с
функциями Цель: Знакомство с динамически подключаемыми функциями, написанными на других языках программирования |
Введение
Для расширения возможностей в среде имеется механизм добавления функций из динамически подключаемых библиотек (Dynamic Link Libraries, DLL). Данные библиотеки являются стандартными для Windows и могут создаваться на языках программирования C++, Pascal или других. Для подключения к среде Stratum необходимо создать текстовый файл, описывающий содержащиеся в библиотеке функции
Задание 1. Создание своей Dll
Допустим, для увеличения скорости вычислений проекта потребовалось создать
новую математическую функцию. Рассмотрим на примере функции
#include <math.h>
extern "C" double __export __stdcall
sqrx(double a, double b)
{
return sqrt(a*a + b*b);
};
Задание 2. Подключение Dll к проекту
Чтобы Stratum смог "увидеть" новую функцию, необходим специальный текстовый файл ее описания (определяется по расширению *.TDL). Создайте в любом редакторе текстовый файл в кодировке DOS - sqrx.tdl:
DLL "sqrx.dll" 32 preload
name "sqrx","sqrx" arg "FLOAT","FLOAT" ret
"FLOAT"
Примечание. Подробно узнать о правилах написания такого файла Вы можете в разделе "Динамически подключаемые библиотеки функций (DLL)" справочной системы Stratum.
Создайте новый проект. Для того, чтобы иметь возможность вызывать функцию, просто поместите файл sqrx.tdl в каталог этого проекта. Если необходимо, чтобы функция была доступна во всех проектах, поместите его в каталог Stratum 2000/Library.
Примечание. В данном примере Stratum читает данные из файлов *.tdl только в момент загрузки проекта. Поэтому закройте Ваш проект и откройте его снова.
Создайте имидж и проверьте работоспособность новой функции, например: