Добавить новую кнопку в стандартный интерфейс

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
s2176
Местный житель
Сообщения: 473
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Новосибирск

Добавить новую кнопку в стандартный интерфейс

Сообщение s2176 »

Добрый день!
Подскажите, пожалуйста, реально ли доработать стандартный галактический интерфейс, добавив в него свою кнопку и событие, с ней связанное. Или можно добавлять только поля, и дорабатывать уже существующие события?
Кто сказал, что бесполезно биться головой об стену?!
RAJAH
Местный житель
Сообщения: 932
Зарегистрирован: 18 фев 2008, 12:49

Re: Добавить новую кнопку в стандартный интерфейс

Сообщение RAJAH »

Тема как-то подозрительно похожа на http://www.tyumbit.ru/gal_forum/viewtop ... =2&t=11290
s2176
Местный житель
Сообщения: 473
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Новосибирск

Re: Добавить новую кнопку в стандартный интерфейс

Сообщение s2176 »

Спасибо, не по глазам было :)
Кто сказал, что бесполезно биться головой об стену?!
s2176
Местный житель
Сообщения: 473
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Новосибирск

Re: Добавить новую кнопку в стандартный интерфейс

Сообщение s2176 »

Все равно непонятно.
Модуля "договоры" у нас нет, хочу добавить кнопку в личную карточку сотрудника.
Окно WINCOMMONDATA.
в примере с кнопкой используется функция:
cfsCreateObject('Button', ' имя контейнера ', 'cmMyTestButton', False, l)

Пробовала в качестве контейнера подставить имя окна: компилятор ругается на "выход за границы коллекции".
Как можно определить имя контейнера, или проблема в чем-то другом?
Кто сказал, что бесполезно биться головой об стену?!
s2176
Местный житель
Сообщения: 473
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Новосибирск

Re: Добавить новую кнопку в стандартный интерфейс

Сообщение s2176 »

Выход за границы коллекции победила, но теперь компилятор ругается на cfOk в строке
if (cfsSetCurrentContainer('Z_STAFF::RECEPTIONMAIN') <> cfOk)

Не подскажете, где лежит описание этой константы, что нужно подключить?
Кто сказал, что бесполезно биться головой об стену?!
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Re: Добавить новую кнопку в стандартный интерфейс

Сообщение m0p3e »

cfOk = 0
Кстати удобнее использовать:

Код: Выделить всё

cfsSetCurrentContainer ( cfsGetCurrentContainerSelf )
s2176
Местный житель
Сообщения: 473
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Новосибирск

Re: Добавить новую кнопку в стандартный интерфейс

Сообщение s2176 »

Спасибо, конечно, за cfOk, но там есть еще другие константы, например: cfErrCreateObjectError. Ее значение тоже хочется знать.
Где-то же они определены, но где?
В документации описаны функции, перечислены константы, но как это использовать, не зная их значений?
Кто сказал, что бесполезно биться головой об стену?!
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: Добавить новую кнопку в стандартный интерфейс

Сообщение edward_K »

Ну есть 2 пути - приобрести дистрибутив атланитса, либо установить viper, что бесплатно - нужный вам inc будет в папке Source - CFG_ERR.inc. Он кстати подключен в Galnet.inc - то есть прописание пути на inc (собрать из каталога frm и периодически обновлять после установки патчей) , добавить путь на source из viper и прописать в проекте

Код: Выделить всё

#statusline "statgal"
//============
#include galnet.inc 
end;
#include glotypes.inc
#include glovars.inc
решит много ваших проблем. Да - galnet.inc понадобиться несколько vih - они у вас также должны быть в каталоге frm после распаковки патчей. Обратите внимание, что galfrm распаковывает в другое место - то есть его нужно распаковать и переместить папки из него в src с заменой более старых файлов, после чего удалить. Я распаковываю так "d:\WinRAR\winrar.exe" x -y -u *.rar
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Re: Добавить новую кнопку в стандартный интерфейс

Сообщение m0p3e »

Код: Выделить всё

const cfOk                                =  0;
    // Ok :-)

const cfErrObjectTypeNotExist             = -1;
    // тип объекта не существует
const cfErrObjectTypeAlreadyExist         = -2;
    // тип объекта уже существует

const cfErrObjectNotExist                 = -3;
    // объект не существует
const cfErrObjectAlreadyExist             = -4;
    // уже есть объект с таким именем, как у создаваемого шаблона

const cfErrContainerObjectNotExist        = -5;
    // контейнер не существует

const cfErrPropNotExist                   = -6;
    // свойство не существует
const cfErrPropAlreadyExist               = -7;
    // свойство уже существует

const cfErrObjectSelfAlreadyExist         = -8;
    // уже есть объект с указанным Self'ом
const cfErrContainerSelfNotExist          = -9;
    // не найдено контейнера с указанным Self'ом

const cfErrCantEditProp                   =  -10;
    // нельзя редактировать указанное свойство
const cfErrPropValueError                 = -11;
    // значение поле не совместимо по типу с указанным свойством
const cfErrCantCreateObject               = -12;
    // нельзя создать объект или шаблон в указанном контейнере
const cfErrCreateObjectError              = -14;
    // не получилось создать объект

const cfErrTemplateAlreadyExist           = -15;
    // создается шаблон, который уже был до этого
const cfErrTemplateNotExist               = -16;
    // шаблон не существует
const cfErrTemplateObjectAlreadyExist     = -17;
    // такой объект уже есть в шаблоне

const cfErrObjectStorageNotCreated        = -18;
    // вызвана функция управления ObjectStorage, а он не создан 

const cfErrInternalBadCommand             = -19;
    // неизвестная команда сервисных функций

const cfErrBadFieldType                   = -20;
    // не того типа параметр

const cfErrBadFind                        = -21;
    // атом не найден

const cfErrMustBeUnsigned                 = -23;
    // Значение типа cftUnsignedInteger меньше 0

s2176
Местный житель
Сообщения: 473
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Новосибирск

Re: Добавить новую кнопку в стандартный интерфейс

Сообщение s2176 »

Спасибо, Edward_K и m0p3e!
Продолжу раскопки :-)
Кто сказал, что бесполезно биться головой об стену?!
Ответить