![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
// своя процедура запуска
procedure Run;
Var
form: TMainForm; // ссылка на форму
Begin
// делаем нашу форму дочерней формой КОМПАСа
Application.Handle:= kompas.ksGetHWindow;
// закрыть доступ к компасу
kompas.ksEnableTaskAccess(0);
// создаем форму
form:=TMainForm.Create(Application);
// вывод формы
form.ShowModal;
// открыть доступ к компасу
kompas.ksEnableTaskAccess(1);
// отключаем нашу форму от КОМПАСа
Application.Handle:= 0
end;
//--------------------------------------------------
function LIBRARYNAME: PChar; pascal;
Begin
// произвольное название библиотеки
Result:= 'Отрезок'
end;
//--------------------------------------------------------------------
function LIBRARYID: UINT; pascal;
Begin
// произвольный идентификатор от 100 и выше
Result:= 100;
end;
//---------------------------------------------------------------------
procedure LIBRARYENTRY (command:WORD); pascal;
Begin
// связываем переменную Kompas с API КОМПАСа
Kompas:= KompasObject(CreateKompasObject);
// если все в порядке…
if Kompas <> nil then
Begin
// связываем переменную iDocument2D с текущим 2D документом
iDocument2D:= ksDocument2D(Kompas.ActiveDocument2D());
if iDocument2D= nil then
// сообщение об ошибке
Kompas.ksMessage('Текущий документ не является чертежом или фрагментом')
Else
Begin
// своя процедура запуска библиотеки
Run;
Kompas.ksMessage('Работа библиотеки завершена')
end;
// освобождение памяти
iDocument2D:= nil;
end;
Kompas:= nil
end;
end.
Процедура LibraryEntry может получать на вход целочисленный параметр, задействованный при вызове библиотеки из пунктов меню или с панели инструментов. Нам он пока не понадобится. Внутри процедуры выполняется проверка – является ли текущий документ 2D-документом. Мы пока не можем пользоваться никакими средствами Delphi для ввода-вывода, поэтому сообщения выводятся вызовом метода ksMessage объекта Kompas, т.е. средствами самого КОМПАСа.
Создадим форму (FileNewForm) и сохраним новый модуль под именем former1.pas. Сохраним проект. Самой форме дадим имя OTREZOK. В этом модуле мы создадим форму для ввода начальных значений и после нажатия на кнопку «Построить» создадим в текущем чертеже вид1 и построим отрезок.
unit former1;
Дата публикования: 2014-11-04; Прочитано: 268 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!