Адрес этой странички : http://doc-prg.narod.ru/art_00006/art_00006.htm
© 10.08.2007 Сергей Попов
Здесь следует отметить, что приведенная ниже статья носит
чисто иллюстративный характер и не претендует на бОльшее.
Для серьезной и углубленной проработки специальных вопросов информационного
обмена крайне рекомендуется использовать фирменное техническое описание системы
1Cv8.
1Cv8 + Delphi-5.
OLE (COM).
Считывание информации.
Перечисления.
Список значений перечисления.
Выбор значения перечисления.
Статью в виде файла (376 кб) можно скачать здесь: art_00005.zip
Простой пример, иллюстрирующий процесс считывания списка значений
перечисления с использованием механизма OLE Automation.
Информационная база 1Cv8 ( 29 кб):
homelib_02.zip - та же, что и в
предыдущих примерах.
Вспомним, что в контексте информационной базы создано перечисление : ТипНосителя
:
Рис.1. Перечисление ТипНосителя информационной базы 1Cv8
Попробуем прочитать его значения.
Создадим новый Delphi-проект (Load_from_Enum_COM.dpr).
Ниже представлена форма проекта :
Рис.2. Форма проекта Load_from_Enum_COM.dpr
Вопросы соединения с 1Cv8 были рассмотрены ранее.
Поэтому сразу же перейдем к программированию процесса считывания информации.
В данном случае будем ориентироваться на вариант : "COM-соединение"
Создадим обработчик события : нажатие на кнопку "бегущие человечки".
Здесь все прозрачно (пояснения в тексте обработчика).
Теперь скомпилируем наш проект и запустим его на выполнение :
Рис.3. Главное окно приложения
Load_from_Enum_COM.exe
Сравним результат считывания (с
использованием механизма OLE Automation)
- с фактической информацией (рис.1).
Для этого нужно запустить конфигуратор 1Cv8 ...
Здесь также все понятно.
Исходные тексты этого проекта
можно взять здесь (10 кб) :
load_from_enum_com_v01.zip
Модифицируем наш проект (расположим на форме еще одну кнопку и реализуем вид соединения с 1Cv8 : "OLE Automation Client/Server").
Рис.4. Форма проекта Load_from_Enum_OLE.dpr
Создадим обработчик события: нажатие на эту кнопку ("?") :
Текст обработчика достаточно прост и доп. комментарий не требуется.
Теперь скомпилируем наш проект и запустим его на выполнение.
На рис.5 представлен результат открытия формы списка значений перечисления.
Рис.5. Главное окно приложения
Load_from_Enum_OLE.exe.
Метод объекта 1Cv8 "Форма" - Открыть()
Если нажать еще раз на кнопку "?" (при открытой форме), то на экране появится сообщение :
Рис.6. Главное окно приложения
Load_from_Enum_OLE.exe.
Метод объекта 1Cv8 "Форма" - Открыта()
Еще усложним наш проект (расположим на форме кнопку "m?" (рис.7).
Рис.7. Форма проекта Load_from_Enum_OLE.dpr
Создадим обработчик события: нажатие на эту кнопку :
Текст обработчика достаточно прост и доп. комментарий не требуется.
Теперь скомпилируем наш проект и запустим его на выполнение.
На рис.8 представлен результат открытия формы списка значений перечисления для
выбора.
Рис.8. Главное окно приложения
Load_from_Enum_OLE.exe.
Метод объекта 1Cv8 "Форма" - ОткрытьМодально()
Теперь нужно выбрать какое-либо значение перечисления (двойной щелчок левой кнопкой мышки по соотв.строке или нажатие на кнопку "Выбрать", рис.8).
Результат представлен на рис.9.
Рис.9. Главное окно приложения
Load_from_Enum_OLE.exe.
Метод объекта 1Cv8 "Форма" - ОткрытьМодально()
Исходные тексты этого проекта можно взять здесь (12 кб) : load_from_enum_ole_v01.zip
© 10.08.2007 Сергей Попов