Соглашения по форматированию данных

Previous Top Next

1. Справочная система

- Заголовки каждого раздела содержат информацию о теме.

- Заголовки абзацев и подразделов отображаются утолщенным шрифтом.

- Ниже заголовка размещаются ссылки на объекты (компоненты) верхнего уровня. Если раздел является разделом верхнего уровня, под заголовком отсутствуют ссылки.

- Тексты примеров и примечаний отображается КУРСИВОМ.

Примеры программного кода отображаются шрифтом СOURIER. Остальная справочная информация отображается в произвольном стиле.

- В справочных файлах не приводятся описания свойств, методов, событий стандартной компоненты TWinControl. Описание соответствующих свойств методов и событий ищите в справочной системе средств разработки.

ActiveX - интерпретация объектов пакета GIS ToolKit Active, предполагает возможность внедрения тех или иных компонентов и объектов в различные средства разработки программного обеспечения. Исходя из этой особенности, компоненты ActiveX на базе стандартного пакета GIS ToolKit не способны наследовать определенные свойства и методы материнских объектов в определенных средствах разработки.

 

2. Пространство имен набора

Для С целью удобства ориентации в библиотеке типов все объекты библиотеки подчиняются следующим соглашениям по наименованию:

1.Наименования объектов начинаются на a (от ActiveX)

- визуальные axc (от ActiveX Control)

- не визуальные ax

2.Наименования СОМ объектов начинаются на ai (от ActiveX Interface)

3.Наименования интерфейсов СОМ объектов начинаются на I (от Interface)

4.Наименования типов начинаются на Tx (от Type ActiveX )

 

С целью организации связей между компонентами в различных средах разработки, в компонентах GIS ToolKit Active используется метод явного присвоения в теле программы ссылки на базовый класс (компоненты или объекта) в момент ее инициализации (инициализации форм). Организация связей, используя редакторы свойств, считается неприемлемой, в связи с неоднозначной интерпретацией такого подхода в различных оболочках и средствах разработки.

 

3. Доступ к базовому классу компонент и объектов

С целью доступа к базовому классу объекта-интерфейса компоненты, служит свойство С_CONTAINER (от Component Container). Свойство доступно исключительно для чтения и присвоить через него объект подобного класса не возможно.

Свойство С_CONTAINER - это объект потомок IDispatch и интерпретируется во всех средствах разработки однообразно, в отличии от объекта-контейнера axMapХХХ, который например в среде разработки Microsoft Visual Studio 2015 приводится к специфическому для среды компоненту-классуaxaxMapXXX..

 

4. Запись/присоединение компонент и объектов к объекту источнику

В компонентах, работа которых зависит от других компонент присутствует соответствующее свойство сMapXXX. К примеру, для присоединения компоненты axMapObj используется свойство сMapObj. Данное свойство предназначено для доступа объекта приемника, к базовому объекту-интерфейсу объекта источника и организован в режиме чтения/записи.

Пример: Имеется 3 компоненты axcMapView, axMapObj, axMapFind. Необходимо организовать взаимосвязь :

 

Dim MapView as axcMapView        ' данные объекты могут создаваться

Dim MapObj as axMapObj        ' в режиме дизайна. В таком случае

Dim MapFnd as axMapFind        ' объявления типов в коде не нужны

MapObj.cMapView = MapView.C_CONTAINER        ' связка карта-объект

MapFnd.cMapView = MapView C_CONTAINER        ' связка поиск-карта

MapFnd.cMapObj= MapView.C_CONTAINER        ' связка поиск-объект

 

5. Стандартные типы данных

С целью понимания описаний полей и методов в справочной системе применен метод условного обозначения стандартных типов передаваемых и принимаемых данных.

При передаче специфических объектов и структур, в пакете используются целочисленные указатели. Компонентом передается/принимается значения типа Integer, которое затем приводится к требуемому типу. В основном это указателя на объекты TCanvas и типы, которые не объявлены в стандартном пакете GIS ToolKit. К примеру, в компоненте axMapObj присутствует свойство parm которое является указателем на структуру вида объекта в классификаторе. Для обеспечения работы с подобными параметрами рекомендуется использовать следующую технологию:

1.Объявить целочисленную переменную и переменную результирующего типа (в нашем случае TPaintParm)

2.Привести указатель к типу Pointer. Следует учитывать, что тип в разных языках программирования интерпретируется по разному.

3.Присвоить переменной-типу содержимое указателя.

Как шаблон, можно использовать код в разделе справки axMapObj.parm

 

Интерпретация типов в разных языках программирования:

 

Тип в файле справки

Язык программирования

Тип

Размер (байт)

Бейсик

Паскаль

Visual С++

С#

х32

x64

WordBool

2

2

WordBool

WordBool

unsigned short

unsigned short

integer

4

8

integer

integer

int

int

cardinal

4

8

long

cardinal

unsigned long

unsigned long

WideString

неогр

неогр

string

PChar

string^

string^

byte

1

1

byte

byte

char

char

boolean

1

2

byte

boolean

bool

bool

double

8

8

double

double

double

double

single

4

8

single

single

float

float

word

2

2

word

word

unsigned short

unsigned short