На главную... Продукты | Технологии | Классификаторы | Проекты | Скачать | Цены| Форум | Статьи | Обучение | Контакты

KFF (Автор тем)

Поиск  Пользователи  Правила  Войти
Форум » Пользователи » KFF
Выбрать дату в календареВыбрать дату в календаре

Страницы: Пред. 1 ... 7 8 9 10 11 12 13 14 15 16 17 ... 48 След.
Диалог "раcтровые карты"
 
Здравствуйте господа разработчики !
Просьба пояснить правильно ли поведение вот этих "флажков"
[IMG]http://delphi-gis.ucoz.ua/Images/ForForum/2014/img030.jPg[/IMG]
Выставляю растр в прозрачное отображение. После того как я поработал с растром двойным кликом отключаю отображение.
При включении - отображение полное  :?:
Не обновляются габариты SITX
 
Здравствуйте господа разработчики !
На карту SITX ограниченную небольшим фрагемнтом 5*5 км нанёс окружность радиусом около 40 км
НА карте окружность не отображается.
Пробовал сортировку, пробовал закрыть/открпыть карту - ничего не выходит
[IMG]http://delphi-gis.ucoz.ua/Images/ForForum/2014/img029.JPG[/IMG]
Карта на ящике panorama@gisinfo.ru
Диалог 3d
 
Здравствуйте уважаемые разработчики и  разработчицы !
К классификатору присоединены 2 библиотеки p3d
Вопрос 1. (красные пометки на рис.) Почему в первой закладке при смене (выборе) библиотек древо шаблонов обновляется, а в закладке "3D вид объектов" - НЕТ. Одним словом, древо не дополняется и не меняется + не вижу что у меня во второй библиотеке (topo100t.p3d)

Вопрос 2. (синие пометки на рис.). Что я могу отключить в таком состоянии?
Просьба проверить правильность активности кнопок
[IMG]http://delphi-gis.ucoz.ua/Images/ForForum/2014/img028.JPG[/IMG]
разрезка площадного объекта линией
 
Здравствуйте уважаемые разработчики !
Вопрос, что не хватает Вашей функции [B]mapCreateObjectCutByLine[/B] :?:
Код:
[CODE] Obj := mapCreateSiteObject(FMap,FSite);
 mapRegisterObject(Obj, 10000002, OL_SQUARE); // делаем квадрат
 mapAppendPointPlane(Obj,0,0);
 mapAppendPointPlane(Obj,1000,0);
 mapAppendPointPlane(Obj,1000,1000);
 mapAppendPointPlane(Obj,0,1000);
 mapAppendPointPlane(Obj,0,0);

 Cut := mapCreateSiteObject(FMap,FSite);
 mapRegisterObject(Cut, 10000001, OL_LINE);
 mapAppendPointPlane(Cut,500, -1);
 mapAppendPointPlane(Cut,500, 1001);
 // Режем
 Cross:=mapCreateObjectCutByLine(Cut, Obj, OL_SQUARE, 0.01); // ФУНКЦИЯ ВСЕГДА ВОЗВРАЩАЕТ 0 !!!
 if Cross<>0 then
 begin
   if mapGetNextCut(Cross, Cut)<>0 then
   mapCommitObject(Cut);
   mapFreeObjectsCut(Cross);
 end;
 mapFreeObject(Obj);
 mapFreeObject(Cut);[/CODE]
Чтобы не поставлял в качестве координат, функция не работает ???
Изменено: KFF - 03.05.2014 14:18:32
Очистка типа метрики в mapacces.dll
 
Здравствуйте господа разработчики !

При работе с функциями mapCreateSiteObject и mapClearObject в библиотеке [b]mapacces.dll[/b] ГИС Карта 2011 обнаружил следующую ошибку.
Объект который создан с параметрами:
FObj := mapCreateSiteObject(FHMap, FSite, [b]KM_IDDOUBLE3[/b]);
после
mapClearObject(FObj)
в упор отказывается принимать третью координату метрики !
Альтернативной функции по установке KM_IDDOUBLE3, кроме пересоздания  - нет

Просьба проверить работу этих функций и по возможности исправить в инсталляции [b]ГИС Карта 2011[/b] или подсказать, каким образом перерегистрировать объект как 3D после чистки
Захват узла метрики в Акции
 
Здравствуйте господа разработчики !
Вопрос, как захватить узел чужой метрик в своей "Акции" ?
По сути нужен режим "J"(в создании) или "K"(в наесении) :?:
непонятное значение DC с ГИС Карты
 
Здравствуйте господа разработчики !
Создаю нормальную акцию нажимая кнопку.
После создания генерируется сообщение utsPaint с ядра через экспортную функцию:

[CODE]//======================================================================
// Управление "отображением"
// Обработчик может нарисовать "на карте"
// (карта уже нарисована ...)
//==========================================================­============
 function utsPaint(hact : HPANACTION; var dc  : HDC; erase : boolean; var  rect : TRECT): integer;
 begin
   result := 0;
   if hact <> 0 then result := TCustomAction(hact).Paint(dc,erase,rect);
 end;[/CODE]

Вопрос, почему параметры [B]hact[/B], [B]erase[/B], [B]rect[/B] определены и имеют значение, а параметр dc имеет значение "Unassigned" ???
Это значение приводит к тому, что функция
mapPaintMapObject95(FHMap, DC, rect, FImage, FObj);
выдаёт Access Violation
------
Кто и как контролирует хендл холста НDC ?
Деактивая чужих акций
 
Здравствуйте господа разработчики !
Имеется задача PanTask. При нажатии на кнопку, создаётся "акция" (TPanAction)
В сам момент нажатия, работает (допустим) режим нанесения объекта
Вопрос, как завершить чужую акцию перед запуском своей.
--
П.С ситуация. Нажата кнопка создания объекта и запущена задача в которой нажата кнопка выбора объекта.
при клике на карту, происходит попытка нанесения. Если кнопку нанесения объекта отжать, моя акция "уходит в никуда"
кроме того, я не могу её завершить кроме как "сорвать" ГИС Карту .
Кнопки PanTask на новый стиль
 
Здравствуйте господа разработчики !

Пытаюсь "оживить" панель в которой кнопки нумеруются а не резервируют диапазоны сообщений

Заполонил новую структуру :
[CODE]
 info.hTask       := 0; // заполним в задаче
 info.Command     := BTN.Tag;
 info.BitmapIdent := 0;
 info.Background  := 0;
 info.State       := 0;        // Состояние кнопки (0 - отжата, 1 - нажата, -1 - не меняется)
 info.enable      := byte(BTN.Enabled);
 StrPLCopy(@info.Hint[0], BTN.Hint, MAX_PATH);
 StrPLCopy(@info.Comment[0], BTN.Hint, MAX_PATH);[/CODE]

Отправил поочереди в цикле на функцию

pr[CODE]ocedure TMyPanTask.InsertButton(PanelID: integer; ImgList : TImageList; var Button : TPanButton);
var  FBmp   : Graphics.TBitMap;
begin
 if Assigned(ImgList) and (FHMainWindow<>0) then
 begin
   FBmp := TBitMap.Create;
   FBmp.Width  := ImgList.Width;
   FBmp.Height := ImgList.Height;
   Button.info.hTask := self.FMapTask;
   if Button.info.Command<>-1 then
     ImgList.Draw(FBmp.Canvas, 0, 0, Button.imgindex);
   Button.info.BitmapIdent  := FBmp.Handle;
   Button.ident:= SendMessage(FHMainWindow,AW_INSERTTASKBUTTON,WPARAM(panelID),LPARAM(@Button.info));
   FBmp.Free;
 end;
end;[/CODE]

На выходе получил красивую корректную панель в которой нажимаются кнопки.
Картинки соответствуют, хинты работают. Перехожу к обработке.

вот эта функция utsEnableAction срабатывает причём постоянно, даже если я ничего не нажимаю.
а вот эта функция не срабатывает вообще utsGetAction
Пытался присвоить   info.State := -1;  нулевой результат

П.С нумерация кнопок идёт 1 2 3 4 5 6 7 8 9 10 21 22 23

Вопрос, как создать обработчик?
Создание двух кнопок с одной командой
 
Здравствуйте господа разработчики !
В технологии PanTask имеется такой метод:
[CODE]// ===========================================================
// Добавить/вставить кнопку в панель
// panelID  - идентификатор панели
// bmpFace  - номер картинки в ImageList
// bmpName  - адрес ImageList
// command  - идентификатор кнопки, если 0 - разделитель
// after    - идентификатор существуищей кнопки, после которой
//            вставляется кнопка, если 0 - в конец панели
// ===========================================================
procedure TMyPanTask.InsertButton(PanelID: integer; ImgList : TImageList; var B:TPanButton);
var  buttonInfo : TBUTTONINFO ;
    FBmp       : Graphics.TBitMap;
begin
 if Assigned(ImgList) and (FHMainWindow<>0) then
 begin
   FBmp := TBitMap.Create;
   FBmp.Width  := ImgList.Width;
   FBmp.Height := ImgList.Height;
   buttonInfo.Command := -1;
   if not B.Separator then
   begin
     ImgList.Draw(FBmp.Canvas, 0, 0, B.image);
     buttonInfo.Command := B.cMessage;
   end;
   buttonInfo.BitmapIdent  := FBmp.Handle;
   buttonInfo.Sibling      := 0;
   B.ident:= SendMessage(FHMainWindow,AW_INSERTBUTTON,WPARAM(panelID),LPARAM(@buttonInfo));
   FBmp.Free;
 end;
end;[/CODE]
Считается, что параметр buttonInfo.Command должен быть уникальным в пределах одной задачи
Вопрос, можно ли создать две (или более) кнопок на панели своей задачи с одинаковым идентификатором команды ?
При попытке создать стандартными методами на панели вообще непонятно что создаётся.
Страницы: Пред. 1 ... 7 8 9 10 11 12 13 14 15 16 17 ... 48 След.



© КБ Панорама, 1991-2023

Регистрируясь или авторизуясь на форуме, Вы соглашаетесь с Политикой конфиденциальности