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

KFF (Все сообщения пользователя)

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

Страницы: Пред. 1 2 3 4 5 6 7 8 9 10 11 ... 327 След.
Заполнение семантики объектов (относительные высоты), C#
 
[QUOTE]Ксения Смирнова написал:
Или откуда берутся данные методы?[/QUOTE]
это файлы с расширением CS которые содержат

[QUOTE]Что за mapproc и maptype?[/QUOTE]
[B]mapproc[/B][CODE]namespace mapproc
{
 [DllImport(GisLibrary, CharSet = CharSet.Ansi)]
 public static extern HMAP mapOpenMap(string name, int mode);
   
 [DllImport(GisLibrary, CharSet = CharSet.Ansi)]
 public static extern void mapCloseMap(HMAP hMap);
 ....
 ....
}
[/CODE]
[B]maptype [/B]- объявление типов .... что-то по на подобии такого
[CODE]namespace maptype
{  
  [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
  public struct DFrame
  {
    public double X1;
    public double Y1;
    public double X2;
    public double Y2;
    public bool Empty
    {
       get { return (X1.Equals(0.0) && X2.Equals(0.0) && Y1.Equals(0.0) && Y2.Equals(0.0)); }
    }
  }
 
  [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
   public struct DOUBLEPOINT                     // КООРДИНАТЫ ТОЧКИ
   {
       public double X;
       public double Y;
       public void Point(double x, double y)
       {
           X = x; Y = y;
       }
   }
 

   public enum MAPTYPE                     // Типы флага "Тип карты"
   {
      TOPOGRAPHIC  = 1,                    // Топографическая
      CK_42        = 1,                    // Система координат 42 года
      GEOGRAPHIC   = 2,                    // Обзорно-географическая
      GLOBE        = 3,                    // Космонавигационная (ГЛОБУС)
      CITYPLAN     = 4,                    // Топографический план города
      LARGESCALE   = 5,                    // Крупномасштабный план местности
      AERONAUTIC   = 6,                    // Аэронавигационная
      SEANAUTIC    = 7,                    // Морская навигационная
      AVIATION     = 8,                    // Авиационная
      BLANK        = 9,                    // Бланковка
      UTMNAD27     = 10,                   // UTM на North American Datum 1927
      UTMWGS84     = 11,                   // UTM на WGS84
      UTMTYPE      = 12,                   // UTM
      CK_63        = 13,                   // Система координат 63 года
      CK_95        = 14                    // Система координат 95 года
   }
   ....
   ....
   ....
   ....
}  [/CODE]
Изменено: KFF - 07.04.2020 19:24:05
Заполнение семантики объектов (относительные высоты), C#
 
[QUOTE]Ксения Смирнова написал:
А как сделать, чтобы объектам с одним кодом, указанным в классификаторе, например, лес густой, код 71111110, добавить семантику «относительная высота» и значение[/QUOTE]
[CODE]using System.Windows.Forms;
using maptype;
using mapproc;

namespace MySolution
{
   public partial class MainForm : Form
   {
       public void ForKsuhaSmirnova(HMAP map, double Hotn )
       {
          HOBJ obj    = mapCreateSiteObject(map, map);         // создать контейнер для объекта
          HSELECT sel = mapCreateSiteSelectContext(map, map);  // создать поисковик по карте
          mapSelectObject(sel , -1, 0);                         // "потушить" в поисковике все объекты (по умолчанию активны все объекты карты)
          // выбрать в поисковике только объекты с кодом 71111110 и площадой локализацией
          mapSelectObject(sel, mapRscObjectCode(map, 71111110, OL_SQUARE), 1);  
          int flag = 0;  
          while (mapSeekSiteSelectObject(map, map, obj, sel, flag)) // перебираем всё что найдено
          {
             mapAppendSemanticLong(obj, 1, Hotn); // добавляем семантику относительная высота (код 1) со значением Hotn (поступающим на вход процедуры)    
             mapCommitObject(obj);                // записываем содержимое "контейнера объекта" на карту
             flag = 4;                            
          }
          mapDeleteSelectContext(sel);            // удаляем поисковик
          mapFreeObject(obj);                     // удаляем контейнер для объекта
       }

       private void btnCreateObject_Click(object sender, EventArgs e)
       {
         HMAP map = mapOpenMap("НАЗВАНИЕ_КАРТЫ_ЛЕСОВ.sitx", 0);  
         ForKsuhaSmirnova(map , 27.4);
         mapCloseMap(map);
       }
   }
}
[/CODE]
Изменено: KFF - 06.04.2020 11:47:27
Нанесение объекта
 
Здравствуйте господа разработчики !

Вопрос, как настроить ширину "линии" создаваемого объекта в ГИС Панорама 13.
Обвести какую то линию на карте, невозможно изза вот этой картины.


[IMG WIDTH=871 HEIGHT=518]https://d.radikal.ru/d00/2004/47/d936848a56b4.png[/IMG]
Консультация по mapCreateObjectsConsent
 
Пробовал копировать объект, - "воз" там же (см. оранжевые объекты)
[QUOTE]  while mapGetNextConsent(cross, obj) <> 0 do
 begin
   if mapReadCopyObject(ret, obj)<>0 then
   begin
     mapRegisterObject(ret, 81140100, OL_LINE);
     mapCommitObject(ret);
   end;
 end;
[/QUOTE]
П.С. работаю с  ядром ГИС Панорама 13! (mapacces64.dll) .. не с GTK !



[IMG WIDTH=631 HEIGHT=554]https://b.radikal.ru/b29/2004/d6/c00685bc1c74.png[/IMG]
Изменено: KFF - 02.04.2020 13:21:23
Консультация по mapCreateObjectsConsent
 
Здравствуйте господа разработчики !

Пытаюсь написать что-то наподобие вот такой функции

[QUOTE] // создать смежные границы  между объектами
procedure CreateEDGE(map: HMAP; base, outObj : HOBJ);
var cross : HCross;
   Obj   : HObj;
begin
 cross := mapCreateObjectsConsent(base, outObj, OL_LINE, 0.01);
 Obj := mapCreateSiteObject(Map, Map);

 while mapGetNextConsent(cross, obj) <> 0 do
 begin
    mapRegisterObject(obj, 100000001, OL_LINE); // системный
    mapCommitObject(obj);
 end;
 mapFreeObject(Obj);
 mapFreeObjectsConsent(cross);
end;

[/QUOTE]

Вызываю так


[QUOTE]procedure TForm1.Button2Click(Sender: TObject);
var Map : HMap;
   Obj1, Obj2 : HObj;
begin
 Map := mapOpenMap('E:\tmp\@ANI-BASE-FILL\MAP\WorldBorder.sitx', 0);
 Obj1 := mapCreateSiteObject(Map, Map);
 Obj2 := mapCreateSiteObject(Map, Map);
 if (mapSeekSiteObject(Map, Map, Obj1,  [B]28335[/B]) <> 0) and
    (mapSeekSiteObject(Map, Map, Obj2, [B]28332[/B]) <> 0) then
  CreateEDGE(Map, Obj1, Obj2);
 mapFreeObject(Obj1);
 mapFreeObject(Obj2);
 mapCloseMap(map);
end;[/QUOTE]

Итог "построений"

[IMG WIDTH=1107 HEIGHT=811]https://a.radikal.ru/a13/2004/9e/e0fb95fc5706.png[/IMG]


Вопрос к разрабочикам.
Функция mapGetNextConsent точно должна формировать объект (красную линию)... не две зелёные? см.. картинку Выше??

п.с для проверки: Исходная карта находится в папке [B]\Data.Ani\Карта регионов\ICAO-countries.sitx[/B] (изделия АНИ)
Изменено: Oleg Belenkov - 03.04.2020 11:37:03
Комплекс подготовки документов аэронавигационной информации, Обсуждение проблем, возникающих при использовании комплекса
 
[QUOTE] задается точка с известными радиалом (азимутом) и дальностью (выделена  на рисунке красным – R187°, D28.9), как определить геодезические  координаты этой точки?[/QUOTE]

Рисуем отрезок первая точка которого в VOR/DME а вторая произвольная
Нажимаем на отрезок и считаем/меняем координату

[IMG WIDTH=792 HEIGHT=500]https://c.radikal.ru/c25/2003/b8/ce5733a66a5e.png[/IMG]


После манипуляций результат во второй строчке (точка 2) см рисунок выше



ВАЖНО!
Радиал от РНС это [B][U]магнитный [/U][/B]азимут от центра его антенны. Поэтому, при вычислении точки, к значению R187° нужно добавить магнитное склонение в РНС (из АИП)
Изменено: KFF - 31.03.2020 11:10:16
Вопрос по LOG-у карты
 
[QUOTE]Елена Кузнецова написал:
Возможно файл SHD имеет нулевую длину.[/QUOTE]
Возможно. Уточняющий вопрос.
Данная карта очень интенсивно обновляется (это карта реальной воздушной обстановки)
Любое изменение глобальной настройки (подстановка цветного/чёрного классификатора, переход с даты на дату и.т.п) начинается из
физического удаления всех файлов SIT (sit, sda, sse, shd) и повторное создание новой карты mapCreateAndAppendSite
Сразу же после создания карты - идёт массовое нанесение объектов (до 500 штук) и каждые 4 секунды (тик) идёт полное обновление всех семантик и метрики (иммитация движения)
Карта может работать в таком режиме месяцами НО, как видно из логов  , появляются какие-то моменты, когда выдаётся вот такое сообщение.

Вопрос - как с этим бороться ?
Вопрос по LOG-у карты
 
Здравствуйте господа разработчики

Просьба проконсультировать, чего нахватает карте или ядру по записям LOG файла карты.
(какова природа сообщений выделенных красным цветом)

    КАРТА ОТКРЫТА. 01/02/2019  11:07:42
    СОЗДАНИЕ КАРТЫ : D:\MAP\USER61\ЛОКАЦИЯ.SIT
    СОЗДАНИЕ ЛИСТА : 1, ЛОКАЦИЯ
    КАРТА ЗАКРЫТА.01/02/2019  11:07:42
    КАРТА ОТКРЫТА. 01/02/2019  11:07:42
    КАРТА ЗАКРЫТА.01/02/2019  11:07:42
    КАРТА ОТКРЫТА. 01/02/2019  11:07:43
[B]>>>> Read zero head error[/B]
    КАРТА ЗАКРЫТА.04/02/2019  13:17:44
    КАРТА ОТКРЫТА. 04/02/2019  13:17:44
[B]>>>> Ошибка структуры файла - ЛОКАЦИЯ.shd[/B]
    КАРТА ЗАКРЫТА.04/02/2019  13:17:50
    КАРТА ОТКРЫТА. 04/02/2019  13:17:50
    КАРТА ОТКРЫТА. 09/02/2019  09:27:43
    СОЗДАНИЕ КАРТЫ : D:\MAP\USER61\ЛОКАЦИЯ.SIT
    СОЗДАНИЕ ЛИСТА : 1, ЛОКАЦИЯ
    КАРТА ЗАКРЫТА.09/02/2019  09:27:43
    КАРТА ОТКРЫТА. 09/02/2019  09:27:43
    КАРТА ЗАКРЫТА.09/02/2019  09:27:44
    КАРТА ОТКРЫТА. 09/02/2019  09:27:44
    СОЗДАНИЕ КАРТЫ : D:\MAP\USER61\ЛОКАЦИЯ.SIT
    СОЗДАНИЕ ЛИСТА : 1, ЛОКАЦИЯ
    КАРТА ЗАКРЫТА.09/02/2019  09:27:44
    КАРТА ОТКРЫТА. 09/02/2019  09:27:44
[B]>>>> Read zero head error[/B]
    КАРТА ОТКРЫТА. 13/02/2019  17:53:53
    СОЗДАНИЕ КАРТЫ : D:\MAP\USER61\ЛОКАЦИЯ.SIT
    СОЗДАНИЕ ЛИСТА : 1, ЛОКАЦИЯ
    КАРТА ЗАКРЫТА.13/02/2019  17:53:53
    КАРТА ОТКРЫТА. 13/02/2019  17:53:53
    КАРТА ЗАКРЫТА.13/02/2019  17:53:53
    КАРТА ОТКРЫТА. 13/02/2019  17:53:54
    СОЗДАНИЕ КАРТЫ : D:\MAP\USER61\ЛОКАЦИЯ.SIT
    СОЗДАНИЕ ЛИСТА : 1, ЛОКАЦИЯ
    КАРТА ЗАКРЫТА.13/02/2019  17:53:54
    КАРТА ОТКРЫТА. 13/02/2019  17:53:54
    КАРТА ОТКРЫТА. 13/02/2019  17:57:53
    СОЗДАНИЕ КАРТЫ : D:\MAP\USER61\ЛОКАЦИЯ.SIT
    СОЗДАНИЕ ЛИСТА : 1, ЛОКАЦИЯ
    КАРТА ЗАКРЫТА.13/02/2019  17:57:53
    КАРТА ОТКРЫТА. 13/02/2019  17:57:53
    КАРТА ЗАКРЫТА.13/02/2019  17:57:54
    КАРТА ОТКРЫТА. 13/02/2019  17:57:54
    СОЗДАНИЕ КАРТЫ : D:\MAP\USER61\ЛОКАЦИЯ.SIT
    СОЗДАНИЕ ЛИСТА : 1, ЛОКАЦИЯ
    КАРТА ЗАКРЫТА.13/02/2019  17:57:54
    КАРТА ОТКРЫТА. 13/02/2019  17:57:54
    КАРТА ОТКРЫТА. 15/02/2019  15:39:55
    СОЗДАНИЕ КАРТЫ : D:\MAP\USER61\ЛОКАЦИЯ.SIT
    СОЗДАНИЕ ЛИСТА : 1, ЛОКАЦИЯ
    КАРТА ЗАКРЫТА.15/02/2019  15:39:55
    КАРТА ОТКРЫТА. 15/02/2019  15:39:55
    КАРТА ЗАКРЫТА.15/02/2019  15:39:55
    КАРТА ОТКРЫТА. 15/02/2019  15:39:55
    СОЗДАНИЕ КАРТЫ : D:\MAP\USER61\ЛОКАЦИЯ.SIT
    СОЗДАНИЕ ЛИСТА : 1, ЛОКАЦИЯ
    КАРТА ЗАКРЫТА.15/02/2019  15:39:55
    КАРТА ОТКРЫТА. 15/02/2019  15:39:55
    КАРТА ОТКРЫТА. 19/02/2019  14:45:02
    СОЗДАНИЕ КАРТЫ : D:\MAP\USER61\ЛОКАЦИЯ.SIT
    СОЗДАНИЕ ЛИСТА : 1, ЛОКАЦИЯ
    КАРТА ЗАКРЫТА.19/02/2019  14:45:02
    КАРТА ОТКРЫТА. 19/02/2019  14:45:02
    КАРТА ЗАКРЫТА.19/02/2019  14:45:02
    КАРТА ОТКРЫТА. 19/02/2019  14:45:02
    СОЗДАНИЕ КАРТЫ : D:\MAP\USER61\ЛОКАЦИЯ.SIT
    СОЗДАНИЕ ЛИСТА : 1, ЛОКАЦИЯ
    КАРТА ЗАКРЫТА.19/02/2019  14:45:02
    КАРТА ОТКРЫТА. 19/02/2019  14:45:02
    КАРТА ОТКРЫТА. 21/02/2019  04:14:47
    СОЗДАНИЕ КАРТЫ : D:\MAP\USER61\ЛОКАЦИЯ.SIT
    СОЗДАНИЕ ЛИСТА : 1, ЛОКАЦИЯ
    КАРТА ЗАКРЫТА.21/02/2019  04:14:47
    КАРТА ОТКРЫТА. 21/02/2019  04:14:47
    КАРТА ЗАКРЫТА.21/02/2019  04:14:47
    КАРТА ОТКРЫТА. 21/02/2019  04:14:48
    СОЗДАНИЕ КАРТЫ : D:\MAP\USER61\ЛОКАЦИЯ.SIT
    СОЗДАНИЕ ЛИСТА : 1, ЛОКАЦИЯ
    КАРТА ЗАКРЫТА.21/02/2019  04:14:48
    КАРТА ОТКРЫТА. 21/02/2019  04:14:48
[B]>>>> Read zero head error[/B]
    КАРТА ОТКРЫТА. 21/02/2019  14:24:50
    СОЗДАНИЕ КАРТЫ : D:\MAP\USER61\ЛОКАЦИЯ.SIT
    СОЗДАНИЕ ЛИСТА : 1, ЛОКАЦИЯ
    КАРТА ЗАКРЫТА.21/02/2019  14:24:50
    КАРТА ОТКРЫТА. 21/02/2019  14:24:50
    КАРТА ЗАКРЫТА.21/02/2019  14:24:50
    КАРТА ОТКРЫТА. 21/02/2019  14:24:51
    СОЗДАНИЕ КАРТЫ : D:\MAP\USER61\ЛОКАЦИЯ.SIT
    СОЗДАНИЕ ЛИСТА : 1, ЛОКАЦИЯ
    КАРТА ЗАКРЫТА.21/02/2019  14:24:51
    КАРТА ОТКРЫТА. 21/02/2019  14:24:51
[B]>>>> Read zero head error[/B]
    КАРТА ОТКРЫТА. 26/02/2019  06:22:05
    СОЗДАНИЕ КАРТЫ : D:\MAP\USER61\ЛОКАЦИЯ.SIT
    СОЗДАНИЕ ЛИСТА : 1, ЛОКАЦИЯ
    КАРТА ЗАКРЫТА.26/02/2019  06:22:05
    КАРТА ОТКРЫТА. 26/02/2019  06:22:05
    КАРТА ЗАКРЫТА.26/02/2019  06:22:05
    КАРТА ОТКРЫТА. 26/02/2019  06:22:05
    СОЗДАНИЕ КАРТЫ : D:\MAP\USER61\ЛОКАЦИЯ.SIT
    СОЗДАНИЕ ЛИСТА : 1, ЛОКАЦИЯ
    КАРТА ЗАКРЫТА.26/02/2019  06:22:05
    КАРТА ОТКРЫТА. 26/02/2019  06:22:05
    КАРТА ОТКРЫТА. 28/02/2019  15:39:16
    СОЗДАНИЕ КАРТЫ : D:\MAP\USER61\ЛОКАЦИЯ.SIT
    СОЗДАНИЕ ЛИСТА : 1, ЛОКАЦИЯ
    КАРТА ЗАКРЫТА.28/02/2019  15:39:16
    КАРТА ОТКРЫТА. 28/02/2019  15:39:16
    КАРТА ЗАКРЫТА.28/02/2019  15:39:16
    КАРТА ОТКРЫТА. 28/02/2019  15:39:17
    СОЗДАНИЕ КАРТЫ : D:\MAP\USER61\ЛОКАЦИЯ.SIT
    СОЗДАНИЕ ЛИСТА : 1, ЛОКАЦИЯ
    КАРТА ЗАКРЫТА.28/02/2019  15:39:17
    КАРТА ОТКРЫТА. 28/02/2019  15:39:17
[B]>>>> Read zero head error[/B]
    КАРТА ОТКРЫТА. 01/03/2019  19:19:11
    СОЗДАНИЕ КАРТЫ : D:\MAP\USER61\ЛОКАЦИЯ.SIT
    СОЗДАНИЕ ЛИСТА : 1, ЛОКАЦИЯ
    КАРТА ЗАКРЫТА.01/03/2019  19:19:11
    КАРТА ОТКРЫТА. 01/03/2019  19:19:11
    КАРТА ЗАКРЫТА.01/03/2019  19:19:11
    КАРТА ОТКРЫТА. 01/03/2019  19:19:11
    СОЗДАНИЕ КАРТЫ : D:\MAP\USER61\ЛОКАЦИЯ.SIT
    СОЗДАНИЕ ЛИСТА : 1, ЛОКАЦИЯ
    КАРТА ЗАКРЫТА.01/03/2019  19:19:11
    КАРТА ОТКРЫТА. 01/03/2019  19:19:11
[B]>>>> Read zero head error[/B]
[B]>>>> Read zero head error[/B]
[B] [/B] КАРТА ОТКРЫТА. 03/03/2019 14:01:36
    СОЗДАНИЕ КАРТЫ : D:\MAP\USER61\ЛОКАЦИЯ.SIT
    СОЗДАНИЕ ЛИСТА : 1, ЛОКАЦИЯ
    КАРТА ЗАКРЫТА.03/03/2019  14:01:36
    КАРТА ОТКРЫТА. 03/03/2019  14:01:36
    КАРТА ЗАКРЫТА.03/03/2019  14:01:36
    КАРТА ОТКРЫТА. 03/03/2019  14:01:36
    СОЗДАНИЕ КАРТЫ : D:\MAP\USER61\ЛОКАЦИЯ.SIT
    СОЗДАНИЕ ЛИСТА : 1, ЛОКАЦИЯ
    КАРТА ЗАКРЫТА.03/03/2019  14:01:36
    КАРТА ОТКРЫТА. 03/03/2019  14:01:36
    КАРТА ЗАКРЫТА.13/03/2019  11:53:15
    КАРТА ОТКРЫТА. 13/03/2019  11:56:24
    СОЗДАНИЕ КАРТЫ : D:\MAP\USER61\ЛОКАЦИЯ.SIT
    СОЗДАНИЕ ЛИСТА : 1, ЛОКАЦИЯ
    КАРТА ЗАКРЫТА.13/03/2019  11:56:24
    КАРТА ОТКРЫТА. 13/03/2019  11:56:24
    КАРТА ЗАКРЫТА.13/03/2019  11:56:24
    КАРТА ОТКРЫТА. 13/03/2019  11:56:24
    СОЗДАНИЕ КАРТЫ : D:\MAP\USER61\ЛОКАЦИЯ.SIT
    СОЗДАНИЕ ЛИСТА : 1, ЛОКАЦИЯ
    КАРТА ЗАКРЫТА.13/03/2019  11:56:24
    КАРТА ОТКРЫТА. 13/03/2019  11:56:24
    КАРТА ОТКРЫТА. 15/03/2019  09:16:17
    СОЗДАНИЕ КАРТЫ : D:\MAP\USER61\ЛОКАЦИЯ.SIT
    СОЗДАНИЕ ЛИСТА : 1, ЛОКАЦИЯ
    КАРТА ЗАКРЫТА.15/03/2019  09:16:17
    КАРТА ОТКРЫТА. 15/03/2019  09:16:17
    КАРТА ЗАКРЫТА.15/03/2019  09:16:18
    КАРТА ОТКРЫТА. 15/03/2019  09:16:18
    СОЗДАНИЕ КАРТЫ : D:\MAP\USER61\ЛОКАЦИЯ.SIT
    СОЗДАНИЕ ЛИСТА : 1, ЛОКАЦИЯ
    КАРТА ЗАКРЫТА.15/03/2019  09:16:18
    КАРТА ОТКРЫТА. 15/03/2019  09:16:18
    КАРТА ОТКРЫТА. 17/03/2019  05:08:41
    СОЗДАНИЕ КАРТЫ : D:\MAP\USER61\ЛОКАЦИЯ.SIT
    СОЗДАНИЕ ЛИСТА : 1, ЛОКАЦИЯ
    КАРТА ЗАКРЫТА.17/03/2019  05:08:41
    КАРТА ОТКРЫТА. 17/03/2019  05:08:41
    КАРТА ЗАКРЫТА.17/03/2019  05:08:41
Отобразить графический объект в стороннем окне
 
[QUOTE]Денис Вицко написал:
Скорее всего, fTmpMark.Parm некорректно заполняется.[/QUOTE]
Денис, если бы заполнялась некорректно, то не было бы этого эффекта (отрисовки в диалоге при повторном вызове):

[IMG WIDTH=882 HEIGHT=349]https://a.radikal.ru/a38/2002/1e/75b3197e7ece.png[/IMG]

Кроме того, я не работаю со структурой, я работаю с памятью
Выделил GetMem-ом слил туда дамп функцией mapDrawParameters и забыл до "деструктора" или повторного вызова.

[QUOTE]Денис Вицко написал:
Для чистоты эксперимента можно попробовать вручную заполнить fTmpMark (без вызова диалогов) и посмотреть как отработает mapPaintExample.[/QUOTE]
"Воз" там же.

Тут стоит вопрос как правильно заполнять TPAINTEXAMPLE
Отобразить графический объект в стороннем окне
 
Здравствуйте господа разработчики !

Имеется некий графический объект нарисованный в диалоге medChoicePointImage для болванки "HOBJ" и скопированный оттуда функциями   mapDrawParameters mapDrawImageв память
В Итоге, у меня в памяти нормальная структура типа [B]IMGMULTIMARK. [/B] Используя указатель на эту структуру, я корректно и правилно создаю объекты на карте НО у меня стоит задача
ДО того как выполнено нанесение (на этапе настройки вида) отобразить этот дамп на TPanel или TForm неважно на потомке TControl

Пересмотре все возможные варианты функций остановился на [B]mapPaintExample[/B]
[B]
[/B]
Подготовил структуру котрая передаётся вторым параметром

[B]fTmpMark    : TPAINTEXAMPLE;[/B]
[B]fRect : TRect;[/B]
------------
 fRect := imgDraw.ClientRect;  
 FillChar(fTmpMark, sizeof(fTmpMark), 0);
 fTmpMark.DC    := GetDC(imgDraw.Handle);  // imgDraw это TPanel
 fTmpMark.Rect  := @fRect;
 fTmpMark.Func  := IMG_MULTIMARK;
 fTmpMark.Local := OL_MARK;
 fTmpMark.VisualType := cVT_SCREEN;
 fTmpMark.FillIntensity := 100;[B]
[/B]
[B]-------------------------[/B]
[B]теперь заливаю "начинку" в Parm[/B]
[B]
[/B]obj : HOBJ;
ref : Pointer;


obj := mapCreateSiteObject(fTask.FHMap,fTask.FHMap);
mapRegisterDrawObject(obj, 0, OL_MARK);
if Assigned(fTmpMark.Parm) then // если уже есть вид передаём в диалог
   mapAppendDraw(obj, IMG_MULTIMARK, fTmpMark.Parm);
if (medChoicePointImage(fTask.FHMap, fTask.FParm, obj, 0, 0)<>0) and   (mapDrawImage(obj,1) = IMG_MULTIMARK) then
begin
if Assigned(fTmpMark.Parm) then FreeMem(fTmpMark.Parm);
fTmpMark.Parm := nil;
ref := mapDrawParameters(obj, 1);
if Assigned(ref)  then // запоминаем вид в памяти
begin
  GetMem(fTmpMark.Parm, PIMGMULTIMARK(ref)^.Head.Length);
  move(ref^, fTmpMark.Parm^, PIMGMULTIMARK(ref)^.Head.Length); // залил

end;
end;
mapFreeObject(obj);[B]
[/B]


---------------------
[B]отрисовка - НА ПАНЕЛИ НИЧЕГО НЕ ВИДНО[/B]
procedure TdlgLoadParcel.FormPaint(Sender: TObject);
begin
 if Assigned(fTask) and (fTmpMark.DC<>0) and Assigned(fTmpMark.Parm) then
    mapPaintExample(fTask.FHMap, fTmpMark);
end;

ВОПРОС, что я не правильно заполнил ?
Хотел бы получить эффект по типу "предварительного просмотра вида объекта

в редакторе классфикатора
Страницы: Пред. 1 2 3 4 5 6 7 8 9 10 11 ... 327 След.



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

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