Страница 1 из 1
Добавить новую кнопку в стандартный интерфейс
Добавлено: 09 авг 2013, 12:28
s2176
Добрый день!
Подскажите, пожалуйста, реально ли доработать стандартный галактический интерфейс, добавив в него свою кнопку и событие, с ней связанное. Или можно добавлять только поля, и дорабатывать уже существующие события?
Re: Добавить новую кнопку в стандартный интерфейс
Добавлено: 09 авг 2013, 12:35
RAJAH
Re: Добавить новую кнопку в стандартный интерфейс
Добавлено: 09 авг 2013, 12:40
s2176
Спасибо, не по глазам было
Re: Добавить новую кнопку в стандартный интерфейс
Добавлено: 09 авг 2013, 13:28
s2176
Все равно непонятно.
Модуля "договоры" у нас нет, хочу добавить кнопку в личную карточку сотрудника.
Окно WINCOMMONDATA.
в примере с кнопкой используется функция:
cfsCreateObject('Button', ' имя контейнера ', 'cmMyTestButton', False, l)
Пробовала в качестве контейнера подставить имя окна: компилятор ругается на "выход за границы коллекции".
Как можно определить имя контейнера, или проблема в чем-то другом?
Re: Добавить новую кнопку в стандартный интерфейс
Добавлено: 09 авг 2013, 15:06
s2176
Выход за границы коллекции победила, но теперь компилятор ругается на cfOk в строке
if (cfsSetCurrentContainer('Z_STAFF::RECEPTIONMAIN') <> cfOk)
Не подскажете, где лежит описание этой константы, что нужно подключить?
Re: Добавить новую кнопку в стандартный интерфейс
Добавлено: 09 авг 2013, 16:24
m0p3e
cfOk = 0
Кстати удобнее использовать:
Код: Выделить всё
cfsSetCurrentContainer ( cfsGetCurrentContainerSelf )
Re: Добавить новую кнопку в стандартный интерфейс
Добавлено: 09 авг 2013, 17:55
s2176
Спасибо, конечно, за cfOk, но там есть еще другие константы, например: cfErrCreateObjectError. Ее значение тоже хочется знать.
Где-то же они определены, но где?
В документации описаны функции, перечислены константы, но как это использовать, не зная их значений?
Re: Добавить новую кнопку в стандартный интерфейс
Добавлено: 11 авг 2013, 09:37
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
Re: Добавить новую кнопку в стандартный интерфейс
Добавлено: 12 авг 2013, 13:48
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
Re: Добавить новую кнопку в стандартный интерфейс
Добавлено: 12 авг 2013, 14:06
s2176
Спасибо, Edward_K и m0p3e!
Продолжу раскопки