Global 5.4¶
Реализованная заявка¶
1. Добавить в Script-Frame возможность работы с выделенным текстом¶
Документ поддержки № 47470 (Задача № 52585). В рамках данной задачи было реализовано:
В Script Editor-е реализована поддержка методов для работы с выделением текста.
Реализован новый способ доступа к объекту TbtkScriptTextViewObject -
Selection.Controller.Text
. Используемый ранее способ доступаSelection.TextView
объявлен устаревшим.Добавлен ряд скрипт-методов:
Для работы с многострочными редакторами:
TopLine
- метод позволяет получить или установить номер линии, которая находится в самом верху поля редактора. Для позиционирования курсора:
CursorPos
- метод позволяет получить или установить текущую позицию курсора относительно начала текста. Пример:if Assigned(Selection.Controller.Text) then Selection.Controller.Text.CursorPos := Selection.Controller.Text.CursorPos + 20;
CursorLine
- метод позволяет получить или установить номер линии, на которой располагается курсор. Пример:if Assigned(Selection.Controller.Text) then ShowMesage('Cursor is on line number ' + IntToStr(Selection.Controller.Text.CursorLine));
GetLineByPos
- метод позволяет получить номер линии исходя из позиции относительно начала текста. Пример:if Assigned(Selection.Controller.Text) then ShowMessage('Position 100 is on line number' + Selection.Controller.Text.GetLineByPos(100));
GetPosByLine
- метод позволяет получить позицию начала или конца линии относительно начала текста. Пример:if Assigned(Selection.Controller.Text) then ShowMessage('Line 15 starts at ' + IntToStr(Selection.Controller.Text.GetPosByLine(15, lcaStart)));
MoveCursorTo
- метод позволяет установить курсор в произвольное место поля ввода. Пример:if Assigned(Selection.Controller.Text) then Selection.Controller.Text.MoveCursorTo(15, 0);
ShowCursor
- метод позволяет выровнять линию с курсором по-вертикали относительно границ поля редактора.if Assigned(Selection.Controller.Text) then Selection.Controller.Text.ShowCursor(scaMiddle);Поддержка новых методов добавлена в следущие фреймы:
- Script editor: полная - HTML editor: частичная - Text view: частичная
2. Доработать механизм открытия .gsc без открытия нового клинтского приложения¶
Документ поддержки № 52553 (Задача № 53231). Реализованы новые параметры GSC-файла:
Секция “EXECPARAMS” - параметр “ConnectString” - стандарптная строка подключения, её члены используются для поиска приложения среди запущенных на данный момент. Для поиска приложения в котором можно выполнить данный клмандный файл. Из строки берутся TNS сервера и логин пользователя - будут отбираться приложения загруженные с соответствующей базы и запущенные под соответствующим пользователем. Если какой-то из параметров не важен - его можно не указывать, например:
"ConnectString=AGAT2"
- поиск приложения среди запущенных будет
проводиться по имени приложения и TNS сервера.
"ConnectString=admin@AGAT2"
- поиск приложения среди запущенных будет
проводиться по имени приложения, TNS сервера и пользователю под которым
выполнен вход.
"ConnectString=admin@"
- поиск приложения среди
запущенных будет проводиться по имени приложения и пользователю под
которым выполнен вход.
Добавлена секция “Applications” - в ней перечисляются совместимые приложения, совместимые с описанной в файле командой - в которых её также можно выполнять. Приложения описываются в порядке понижения приоритета их использования. Эти приложения использубтся при поиске подходящего среди работающих в данный момент у пользователя клиентов Gobal. При этом наиболее приоритетным всё равно остаётся приложение указанное в параметра “EXECPARAMS.Application”, именно оно будет запущено в случае если не найдено ни одного из перечисленных приложений.
Note
Так как указанное приложение в секции “Applications” является параметром - по правилам описания ini-файла должно заканчиваться знаком “=”, даже если к приложению нет необходимости задавать дополнительные параметры (возможность не используется - зарезервирована).
3. Потоковая работа с файлами без загруки всего файла в память приложения.¶
Документ поддержки № 51595 (Задача № 52911). Реализована возможность
работать с блоб-курсорами без кеширования, что снимает ограничения на
размер скачаиваемых/заливаемых файлов на стороне клиентского приложения,
т.к. работа ведётся потоково - маленькими порциями. Работа
осуществляется по средствам использования нового класса в скрипторе -
TbtkScriptLobLocator
.
<SQL>
<readFromServer>
begin
select bBlob
into :lob from TSG_LobLocator_t52911
where id = :id;
end;
</readFromServer>
</SQL>
<Pascal>
fileName := AskFileNameForSave(GetVar('Name'));
if fileName <> '' then
begin
lob := Selection.CreateLobLocator;
ExecSQLEx('readFromServer', 'lob', [ftOraLobLocator], [lob]);
lob.SaveToFile(fileName);
end;
</Pascal>
<SQL>
<writeToServer>
begin
update TSG_LobLocator_t52911
set bBlob = :lob
where id = :id;
end;
</writeToServer>
</SQL>
<PASCAL>
fileName := AskFileNameForOpen('');
if fileName <> '' then
begin
lob := Selection.CreateLobLocator;
lob.CreateTemporary;
lob.LoadFromFile(fileName);
ExecSQLEx('writeToServer', 'lob', [ftOraLobLocator], [lob]);
end;
</PASCAL>
4. Реализовать поддержку OLE-объектов в скриптовом методе “Assigned”¶
Документ поддержки № 55528 (Задача № 56205). В методе Assigned
реализована
возможность проверять значения возвращаемые OLE-объектами
(CreateOleObject
) на пустоту (отсутствие объекта). Изначально, при
попытке использовать его для проверки OLE - метод возбуждал ошибку
приведения типов.
5. Диаграмма ганта: доработка выделения текущей строки¶
Документ поддержки № 54056 (Задача № 55591). Реализована отрисовка активной(сфокусированной) строки дерева объектов на всю ширину Диаграммы Ганта.
6. Перемещение объектов с помощью drag and drop на области диаграммы(AdvDiagram).¶
Документ поддержки № 55436 (Задача № 55683). В расширенных диаграммах (AdvDiagram) реализован функционал перетаскивания записей мышью (Drag&Drop) - аналогично тому как это работает в древовидном и списочном фреймах.
7. Гант: изменение масштаба диаграммы¶
Документ поддержки № 54275 (Задача № 55824). Реализована возможность изменения масштаба диаграммы Гантта через Ctrl + колесико мыши.
8. Гант: отображение процента выполнения¶
Документ поддержки № 54274 (Задача № 55818). Изменен индикатор прогресса задачи на диаграмме Гантта. Теперь прогресс отображается в виде полоски на элементе Ганнта, с возможностью настройки её ширины и цвета.
9. Установка большего временного интервала в Диаграмме Ганта¶
Документ поддержки № 53739 (Задача № 55038). Реализована возможность
установки отображаемого интервала диаграммы Гантта больше, чем самая
ранняя и самая поздняя даты в наборе данных. Также добавлены
скрипт-свойства Gantt.MinStartDate
и Gantt.MaxStopDate
для установки
фактического временного интервала диаграммы.
10. Восстановить возможность контрола с гиперссылкой выводить произвольный текст¶
Документ поддержки № 49618 (Задача № 55848). Реализована возможность вывода произвольного текста вместо гиперссылки в редакторах типа “Редактор www, e-mail адреса”.
Для использования необходимо указать атрибут с альтернативным текстом в свойстве “Атрибут, содержащий текст отображаемый вместо гиперссылки. Системное имя: UrlCaptionValueAttribute”
New in version BTK: 1.4.118.0
Исправленная ошибка¶
1. Строка Автофильтра в АИ в контекстном меню отображается активном состоянии, но сама не включёна.¶
Обращение № 21006 Документ поддержки № 53635 (Задача № 53959).
Исправлено.
2. Окно подключение вводит вводит в заблуждение пользователей¶
Документ поддержки № 53101 (Задача № 54753). После нажатия на кнопку “Соединить” окно визуально не меняло состояние контролов ввода. Теперь текст полей ввода отображается серым. Также больше не перемещается каретка в полях ввода вне режима ввода.
3. Свернутое окно выбора приложения не разворачивается обратно на Windows 7¶
Документ поддержки № 53666 (Задача № 54096). Если кликнуть мышью по кнопке приложения Global на панели задач до открытия главной формы приложения - Global свернётся и больше не будет возможности развернуть его обратно.
Исправлено. Теперь приложение бедет не только сворачиваться, но и разворачиваться.
4. Ошибки открытия файла *.gsc в Global 5X¶
Документ поддержки № 53231 (Задача № 54221). Исправлены ошибки работы механизма передачи URI/GSC данных работающему клиенту Global. В результате ошибки в большинстве случаев открывался новый клиент для обработки переданных данных, невзирая на то, что уже имеется запущенный клиент, удовлетворяющий параметрам отбора (на указанной базе/TNS, или в указанном приложении).
В случае же если данные передавались работающему клиенту, то возникала ошибка разбора строки - в случае URI, и просто не запускался GSC-файл - в случае GSC.
5. Operation not supported on selected printer при распечатке печатных форм¶
Обращение № 14909 Документ поддержки № 53759 (Задача № 55036).
Устранено появление ошибки “Operation not supported on selected printer” при печати отчета FastReport2.
6. Если после скрытия фрейма переключиться на другую форму и вернуться обратно, то сплиттер уже не развернуть¶
Документ поддержки № 52397 (Задача № 53233). При попытке развернуть сплиттер отображалось сообщение об ошибке “Сплиттер не имеет элемента управления…”.
Исправлено.
7. Некорректное размещение разделителя при вызове PanelEX¶
Документ поддержки № 44015 (Задача № 53230) При использовании скриптового
метода PanelEx
разделитель создавался без учёта выравнивания панели.
Из-за этого его использование становилось невозможным и приводило к
ошибкам.
Исправлено.