Аналитика
http://www.geosystema.net/forum/

Digitals + Delphi 7 часть вторая или Novator 2
http://www.geosystema.net/forum/viewtopic.php?f=1&t=1498
Страница 1 из 2

Автор:  IvanShubin [ 10 мар 2010 08:02 ]
Заголовок сообщения:  Digitals + Delphi 7 часть вторая или Novator 2

Библиотека содержит 28 классов, которые сделают работу с Digitals (сборки 17.03.09) в среде программирования Delphi 7 удобной. О главном Novator и Novator 2 не совместимы. Библиотека была переписана полностью:
1) Экземпляры классов хранят данные только об уникальных идентификаторах объектов, что позволило:
    - уменьшить объём данных передаваемых через сервер команд Digitals, поскольку запрашиваются только необходимые данные;
    - сделать актуальными данные полученные/переданные через члены классов библиотеки.

2) Реализован механизм исключительных ситуаций, который позволяет отследить ошибки следующего характера:
    - обращение к несуществующему объекту;
    - отсутствие связи с сервером команд Digitals;
    - отсутствие файла шаблона;
    - повторное добавление элемента.
Так что появление непонятных ошибок практически исключено.

3) Реализован механизм событий, который поддерживает следующие события:
    - создание объекта;
    - удаление объекта;
    - изменение объекта;
    - начало сбора объекта;
    - конец сбора объекта;
    - выделение объектов;
    - добавление точки в объект;
    - удаление точки из объекта;
    - добавление объекта типа точка.

4) Добавлена документация, так что всю интересующую информацию ищите там (NOVATOR 2_0).

Вложения:
Novator2 - 10-03-10.zip [288.46 Кб]
Скачиваний: 655

Автор:  Bondarets Alexander [ 10 мар 2010 09:10 ]
Заголовок сообщения:  Re: Digitals + Delphi 7 часть вторая или Novator 2

Серьезный подход. Очевидно набор классов создавался для применения в реальных задачах. Поделитесь какие задачи вы решаете при помощи своего новатора? Насколько быстро это работает с большими картами?

Автор:  lexa [ 10 мар 2010 12:58 ]
Заголовок сообщения:  Re: Digitals + Delphi 7 часть вторая или Novator 2

Реализованные задачи с примерами хотелось бы увидеть.

Автор:  IvanShubin [ 12 мар 2010 14:01 ]
Заголовок сообщения:  Re: Digitals + Delphi 7 часть вторая или Novator 2

Цитата:
Очевидно набор классов создавался для применения в реальных задачах. Поделитесь какие задачи вы решаете при помощи своего новатора?

На данный момент ни каких серьёзных задач решено не было. Novator 2 создавался как продолжение идеи Novator. Так что всё впереди.
Цитата:
Насколько быстро это работает с большими картами?

Всё зависит от того что нужно сделать и как это реализовать. Но Novator 2 быстрее чем Novator. Вот небольшой пример работы с событиями (иногда бывают сбои, но над этим пока работаю).

Вложения:
Комментарий к файлу: Пример работы с событиями.
Example.zip [513.1 Кб]
Скачиваний: 631

Автор:  Olg@ [ 12 мар 2010 14:22 ]
Заголовок сообщения:  Re: Digitals + Delphi 7 часть вторая или Novator 2

я так понимаю, что ограничение на количество передаваемых данных так и осталось?

Ошибка при подключении: List index of bounds (1042)
в результате передана только часть объектов

Автор:  IvanShubin [ 12 мар 2010 14:53 ]
Заголовок сообщения:  Re: Digitals + Delphi 7 часть вторая или Novator 2

Да, вот только сейчас это стало менее актуальным, но и не без этого. В чём вся проблема - в координатах объекта, они формируют львиную долю текста описания объекта.

Как был раньше - изменять объект можно было командами Map.GetObject/Map.PutObject и остальными из этой серии. Принимать большой ответ сервера я смог, поэтому и команда Map.GetObject мог использовать. То есть получить объект можно было без проблем. А вот передать серверу команд большой текст у меня не получается (КТО ЗНАЕТ ПОДСКАЖИТЕ) поэтому использование команды Map.PutObject, с большими объектами, приводило к ошибка. Следовательно вносить изменения в большие объекты было нельзя.

Потом любимый скриптовый язык расширился... Появились команды из серии Map[n].Object[n].Point[n] и другие. Частично отпала необходимость в использовании команд Map.GetObject/Map.PutObject. Но нововведение (от 01.10.2008) не позволяли вставлять и удалять точки в объекте.

Потом (КОГДА ЗАКОНЧИЛСЯ ПЕРИОД ОБНОВЛЕНИЯ МОЕГО ДИГИТАЛСА) появились команды позволяющие вставлять и удалять точки из объекта - но увы, мне эти обновления были недоступны... К чему я всё это - если ты хочешь добавить или удалить точки из больших объектов Novator 2 этого не умеет. Зато изменить значения координат точек таких объектов уже можно.

Так что ждём пока начальство обновит Дигиталс или кто то подскажет как передать команду содержащую много текста в Дигиталс через TCP/IP.

Автор:  Olg@ [ 12 мар 2010 15:41 ]
Заголовок сообщения:  Re: Digitals + Delphi 7 часть вторая или Novator 2

IvanShubin писал(а):
В чём вся проблема - в координатах объекта, они формируют львиную долю текста описания объекта.

а ты ведь раньше как-то разбивал строку, чтобы извлечь все данные. Как это происходит сейчас?
и как вообще передаются данные? По объектно?

Автор:  IvanShubin [ 12 мар 2010 16:09 ]
Заголовок сообщения:  Re: Digitals + Delphi 7 часть вторая или Novator 2

Цитата:
а ты ведь раньше как-то разбивал строку, чтобы извлечь все данные. Как это происходит сейчас?

для объектов:
    получить/изменить слой объекта и его ID - Map.GetObjectHeader/Map.PutObjectHeader
    получить/изменить координаты объекта и параметры Map[n].Object[n].Point[n]/Parameter[n]
    добавить удалить точки объекта Map.PutObjectCoordinates/Map.GetObjectCoordinates

Цитата:
и как вообще передаются данные? По объектно?

Открой файл Novator_2.pas - и посмотри (ну ты же 5.5 лет знакома с Delphi)

Автор:  Bondarets Alexander [ 12 мар 2010 16:56 ]
Заголовок сообщения:  Re: Digitals + Delphi 7 часть вторая или Novator 2

Цитата:
Так что ждём пока начальство обновит Дигиталс или кто то подскажет как передать команду содержащую много текста в Дигиталс через TCP/IP.


Давайте мы лучше обновим ваш ключ бесплатно. За заслуги перед отечеством и пользователями Digitals :) Отправьте нам код ключа на help@vingeo.com.

Автор:  pippa [ 12 мар 2010 17:10 ]
Заголовок сообщения:  Re: Digitals + Delphi 7 часть вторая или Novator 2

Вот эт я понимаю - вот что значит патриотизм - и из страны даже уезжать только из-за этого уже не хочется :cry:

Автор:  IvanShubin [ 15 мар 2010 08:47 ]
Заголовок сообщения:  Re: Digitals + Delphi 7 часть вторая или Novator 2

Чё греха таить - я просто офигел... :shock:

Автор:  IvanShubin [ 15 мар 2010 14:39 ]
Заголовок сообщения:  Re: Digitals + Delphi 7 часть вторая или Novator 2

Ну вот, при содействии разработчиков Digitals, ограничение на количество точек в объекте, с которым осуществляется работа, теоретически отсутствует. Ну а практика покажет...

Вложения:
Novator2 - 15-03-10.zip [288.43 Кб]
Скачиваний: 571

Автор:  IvanShubin [ 25 мар 2010 01:28 ]
Заголовок сообщения:  Re: Digitals + Delphi 7 часть вторая или Novator 2

Расширение функциональности Novator2, добавлено:
    TNObject.Selected
    TNObjects.ObjectsList
    TNObjects.SelObjectsList
описание читайте в файле помощи.

Ещё один пример использования Novator2. Что такое COM технология узнать можно из интернета, на этом не останавливаемся. Скажу только одно знаете ли Вы Делфи или нет это уже не важно. По средствам интерфейсом (читай описание в Хелпе) получить доступ к данным Дигиталс возможно из любого известного Вам языка (ну если он поддерживает интерфейсы). В примере был использован VB который имеется в продуктах Office

Если Вы всё скачаете и запустите - то ничего не заработает :D . COM сервет (вернее всё его содержимое) нужно зарегистрировать в системе. Я знаю два варианта:

    -первый (он же мною апробированный) распаковываем проек, открываем его (ну если конечно у Вас установлен Delphi 7) делаем Run - и всё ОК.

    -иной (не пробовал) зарегистрировать COM сервер утилитой tregsvr.exe - запустив RegisterSer.bat (в файле прописано tregsvr.exe -t NovatorCOMforDigitals.exe). Что будет потом - самому интересно. :wink:

Если что напутал - исправляйте.

Вложения:
Комментарий к файлу: Проект для Delphi 7
NovaCOM.zip [572.08 Кб]
Скачиваний: 591
Комментарий к файлу: Демонстрация использования COM
Demo COM.exe [805.51 Кб]
Скачиваний: 755
Комментарий к файлу: Модуль + Help
Novator2 - 10-03-22.zip [93.15 Кб]
Скачиваний: 561

Автор:  Bondarets Alexander [ 25 мар 2010 09:15 ]
Заголовок сообщения:  Re: Digitals + Delphi 7 часть вторая или Novator 2

Вот они распределенные приложения :) COM сервер управляет Digitals, VBA управляет COM сервером. Писать приложения для Digitals теперь можно на любом языке с поддержкой ActiveX. Вот если бы еще встроить COM сервер в сам Digitals.

Автор:  IvanShubin [ 26 мар 2010 12:06 ]
Заголовок сообщения:  Re: Digitals + Delphi 7 часть вторая или Novator 2

Bondarets Alexander писал(а):
Вот если бы еще встроить COM сервер в сам Digitals.

Ну так в чём проблема, давайте совместными усилия сделаем COM для дигиталс.

Страница 1 из 2 Часовой пояс: UTC + 2 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/