• Добро пожаловать на Форум пользователей ПО АСКОН. Пожалуйста, авторизуйтесь.
 

Уважаемые пользователи,

Хотим проинформировать вас о режиме работы регистрации на нашем сайте.

Зарегистрироваться возможно в рабочие дни, с 8:00 до 20:00 (мск).

Если у вас возникнут вопросы или потребуется дополнительная информация, не стесняйтесь обращаться к нашей службе поддержки. Вы можете связаться с нами по указанным контактным данным на нашем сайте.

Благодарим вас за понимание и сотрудничество. Мы ценим ваше терпение и стремимся предоставить вам лучший опыт использования нашего сервиса.

С уважением,
Команда Ascon

Не получается создать объекты графического документа.

Автор NAZGUL, 02.10.09, 19:40:42

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

NAZGUL

Написал функцию для определения точки пересечения прямых (пример из официальной документации)
Кусок кода:

uses
  SysUtils,
  Classes,
  Windows,
  LDefin2D,
  ksAuto,
  klTLB;


{$E rtw}

var
  iKompas: KompasObject;

procedure CmIntersectLines(iDoc: ksDocument2D; iMath: ksMathematic2D);
var
  iDynArray: ksDynamicArray;
  iPoint   : ksMathPointParam;
begin
  //Динамический массив для хранения объектов точек
  iDynArray:=ksDynamicArray(iKompas.GetDynamicArray(POINT_ARR));
  if iDynArray=nil then
    Exit;
  //Отображение двух прямых 
  iDoc.ksLine(10,10,0);
  iDoc.ksLine(15,5,90);
  //Вычисление точки пересечения двух прямых
  if iMath.ksIntersectLinLin(10,10,0,15,5,90,iDynArray) then
  begin
    iPoint:=ksMathPointParam(iKompas.GetParamStruct(ko_MathPointParam)); //ругается на эту переменную!
    iDynArray.ksGetArrayItem(0, iPoint);
    iDoc.ksPoint(iPoint.x,iPoint.y,0);
    iPoint:=nil;
  end;
  iDynArray.ksDeleteArray;

end;

Delphi пишет, что ему неизвестна переменная ko_MathPointParam.
Подскажите пожалуйста, в чем проблема.

Delphi версия 7, КОМПАС версия 11.

Троицкий

В uses пропишите ksConstTLB - в этом модуле объявлена константа ko_MathPointParam. Или просто запишите ее числовое значение $0E (13).