Последняя версия DataExpress 3 beta от 2 ноября 2018 года. Скачать. Энциклопедия DX. Форум на Develop-Soft

Тестовая версия DataExpress 3 beta

Публикация новостей, связанных с развитием DataExpress.
Аватара пользователя
admin
Разработчик
Сообщения: 3891
Зарегистрирован: Пн мар 14, 2016 11:32 am
Откуда: Ленинградская

Re: Тестовая версия DataExpress 3 beta

Сообщение admin » Вс окт 08, 2017 10:36 am

Исправление:
1. Не подсвечивались некоторые функции.
2. Не обновлялись объекты при тестировании формы.
3. Исправлена ошибка, периодически возникающая при нажатии кнопки "Вставить итоговую функцию" в редакторе выражений.
4. При вводе в поле слишком большого числа, могло появится необработанное исключение или вылет из программы. Теперь программа контролирует ввод и запись чисел в поле. Если значение за пределами допустимых значений, то появляется сообщение об ошибке. См. раздел справки "Компоненты формы и их свойства-Число".

Обсуждение >>>

Аватара пользователя
admin
Разработчик
Сообщения: 3891
Зарегистрирован: Пн мар 14, 2016 11:32 am
Откуда: Ленинградская

Re: Тестовая версия DataExpress 3 beta

Сообщение admin » Вт окт 17, 2017 9:05 pm

Обновление:
1. Доработан импорт файлов. Программа проверяет наличие полей в базе и выдает предупреждения, если какие-то поля не найдены. Перед импортом программа проверяет входные данные. Найденные ошибки программа показывает на экране, и пользователь может решить продолжать импорт или нет.
2. Если при экспорте не было указано расширение, то автоматически добавляется расширение csv.
3. При операциях импорта, экспорта, пересчета, массового удаления записей никакие события набора данных не поступают в скрипт. Это сделано для повышения стабильности программы, а также чтобы предотвратить лишние действия.
4. При дублировании записи никакие события набора данных (например, OnAfterInsert), кроме OnBeforeDuplicate, OnAfterDeuplicate, в скрипт не поступают.
5. Доработана обработка печати шаблона из скрипта. События OnBeforePrint, OnAfterPrint, OnPrintField заменены одним событием OnPrint. Появилась возможность формировать данные для печати из скрипта. Таким образом, источником данных может быть не только форма или запрос, но и любой другой источник: TdxSQLQuery, TStringList и т. д. Обработчик события должен быть только в основной форме.
TPrintEvent = procedure (Sender: TObject; Action: TPrintActionType; const SourceName, FieldName: String; var Value: String; var Accept: Boolean)

Вы можете влиять на процесс печати из скрипта, подставляя свои данные. В процессе печати программа на время передает управление скрипту, передавая ему некоторые параметры. Если параметр Accept равен True, то программа считает, что скрипт выполнил все необходимые действия и ничего не делает. Если Accept равен False, то программа выполняет действия по умолчанию. Процесс печати состоит из ряда действий Action, которые могут повторяться:

paBeginPrint
Начало печати. Параметр SourceName содержит полный путь к файлу шаблона. В этот момент вы можете выполнить какие-то подготовительные действия. Параметр Accept игнорируется.
paBeginData
Начало данных. Данное действие соответствует тому, когда программа впервые встречает тег form или grid. В этот момент программа переводит курсор набора данных на первую запись - это действие по умолчанию, если параметр Accept равен False. Вы можете перехватить это действие, установив Accept в True. В скрипте вы можете, к примеру, позиционировать курсор на первой записи своего набора данных.
Параметр SourceName содержит имя источника данных, указанного в теге form/grid. Это может быть имя формы, запроса или произвольное имя.
paNextData
Следующая запись. Когда программа встречает тег end, она перемещает курсор набора данных на следующую запись и повторяет часть шаблона между тегами form-end или grid-end. Если достигнут конец записей, то программа переходит к участку шаблона за тегом end. Перемещение курсора - это действие по умолчанию, если Accept равен False. Установите Accept в True, если хотите перехватить это действие. Например, вы можете перейти к следующему элементу массива данных или переместить курсор на следующую запись. Когда достигните конца данных, то установите Accept в False, чтобы программа продолжила печать шаблона за тегом end.
Параметр SourceName содержит имя источника данных, указанного в теге form/grid. Это может быть имя формы, запроса или произвольное имя.
paPrintField
Печать поля. SourceName - имя источника данных, FieldName - имя поля. Если Accept равен True, то значение поля будет вычислять скрипт, передавая Value в шаблон. Если Accept равен False, то программа сама будет вычислять поле штатными средствами.
paEndPrint
Конец печати. Файл документа уже сформирован. Вы можете выполнить какие-то завершающее действия, например освобождение памяти. Параметр Accept игнорируется.

Примечания:
1. Не перехватывайте действия paBeginData, paNextData, если печатаются данные текущей формы или запроса. В этом нет никакой необходимости, если только не хотите реализовать совсем уж специфическое. Эти действия перехватываются, когда нужно напечатать некоторый невидимый пользователю массив данных, например TdxSQLQuery или просто какой-то массив.
2. На входе параметр Accept равен False. Меняйте его на True, если перехватываете действие.
3. Значение в теге group обрабатывается как печать поля paPrintField.

Обсуждение >>>

Аватара пользователя
admin
Разработчик
Сообщения: 3891
Зарегистрирован: Пн мар 14, 2016 11:32 am
Откуда: Ленинградская

Re: Тестовая версия DataExpress 3 beta

Сообщение admin » Чт окт 19, 2017 9:11 pm

Исправление.
Исправлена ошибка http://forum.mydataexpress.ru/viewtopic.php?f=20&t=1492.

Аватара пользователя
admin
Разработчик
Сообщения: 3891
Зарегистрирован: Пн мар 14, 2016 11:32 am
Откуда: Ленинградская

Re: Тестовая версия DataExpress 3 beta

Сообщение admin » Сб окт 28, 2017 5:35 pm

Обновление.
1. Новый вид расширений - действия. Действие выбирается в компоненте "Кнопка". Таким образом вы можете делать сложные вещи без знания скриптов, просто выбрав нужное действие из списка и настроив параметры. Все действия разрабатываются в модуле выражений. Только это не функция, а процедура. Действия определяются по специальным комментариям @action. Подробности.
2. В связи с п. 1. модули выражений переименованы просто в "расширения".
3. Из настроек действий убран общий параметр "сохранить запись".
4. В редактор скриптов добавлены два пункта: вставить GIUD, вставить изображение как base64.
5. В скриптах вместо CreateForm, DestroyForm нужно использовать TdxForm.Create, TdxForm.Free. Вместо TWindow.CreateWindow, TListWindow.CreateWindow, TReportWindow.CreateWindow используется конструктор Create. Вместо TFormView.CreateView - Create. Старые названия временно сохранены для плавного перехода. Через некоторое время (2 недели, месяц) я уберу старые названия.

Аватара пользователя
admin
Разработчик
Сообщения: 3891
Зарегистрирован: Пн мар 14, 2016 11:32 am
Откуда: Ленинградская

Re: Тестовая версия DataExpress 3 beta

Сообщение admin » Ср ноя 01, 2017 4:20 pm

Обновление.
1. Исправлены ошибки:
- Неожиданное исключение,
- Не работает поиск и замена текста в модуле,
- Исчезновение содержимого поля при определенной последовательности.,
- Баг с правами пользователя.
2. Добавлено контекстное меню в компоненты "Счетчик", "Список", "Объект" и "Файл". При вызове контекстного меню фокус устанавливается на компоненте.
3. Немного изменен порядок пунктов меню в компоненте "Изображение", он стал таким же как в компоненте "Файл".
4. В режиме просмотра программа блокирует попытки вставки из буфера обмена в компонент.
5. Немного изменена работа компонента "Файл". Содержимое поля теперь не редактируется. В зависимости от способа хранения туда вставляется: имя файла с расширением (база данных), имя файла с расширением и префиксом (папка), полный путь к файлу (ссылка). Если все же надо редактировать это поле, в скрипте снимите флаг ReadOnly: dxFile1.ReadOnly := False;
6. Небольшие доработки при анализе действий @action.
7. Добавлен метод Click в TCustomButton и TSpeedButton.
8. Возвращена опция "Сохранить запись" в действие "Печать".
9. Изменены значки компонентов "Объект", "Поле объекта" и свойства "Источник списка".

Обсуждение >>>

Аватара пользователя
admin
Разработчик
Сообщения: 3891
Зарегистрирован: Пн мар 14, 2016 11:32 am
Откуда: Ленинградская

Re: Тестовая версия DataExpress 3 beta

Сообщение admin » Вс ноя 12, 2017 2:04 pm

Обновление:

1. Добавлен редактор действий. Он заменяет старое окно "Действие" в кнопке. В связи с этим изменен формат хранения действий. Если программа обнаруживает кнопки в формах, то предлагает войти в дизайнер, чтобы программа могла автоматически преобразовать все действия в новый формат.

ВНИМАНИЕ! У тех, кто использует в кнопке совместно действие и скрипт, перестанет работать действие. Необходимо перед определением обработчика OnClick сохранить старый и вызывать его в новом. Или обернуть скрипт в действие и использовать его в редакторе действий.

2. Небольшие изменения в @action. Убран параметр glyph. От значков по умолчанию пришлось отказаться. Действия могут возвращать результат своей работы. В скрипте для этого надо использовать функцию, которая возвращает результат любого простого типа. В редакторе действий узнать результат можно, используя функцию выражений RESULT. Небольшие доработки компонентов action.

3. Добавлено новое свойство формы "Подключить действия". В том же редакторе действие вы можете добавлять действия, которые будут влиять на работу формы, добавлять какие-то новые возможности. Эти действия будут выполняться при создании формы и могут подключаться к различным событиям компонентов или менять их свойства. Пример такого действия-коннектора в DEMO_DB: Подсветка активного поля.

4. В класс TdxSQLQuery добавлены методы Append, Edit, Post, Cancel, Delete, ApplyUpdates, CancelUpdates, свойства State и UseGenerator. Все изменения в объекте записываются в базу методом ApplyUpdates. Если планируется запись в базу, то в select обязательно наличие поля id. SQL-инструкции для записи программа генерирует автоматически по SQL-инструкции select. Для этого требуется, чтобы после from шла таблица, в которую будет идти запись. По умолчанию при добавлении записи методом Append программа обращается к генератору базы, чтобы присвоить новый id записи - UseGenerator = True.

5. Добавлена процедура SQLExecute для выполнения произвольного SQL-скрипта. Человеческие имена таблиц и полей не понимает.

6. Добавлено свойство TFileDialog.Files.

7. Теперь при выходе из программы в режиме дизайнера программа предлагает сохранить изменения.

8. Устранены ошибки:
http://forum.mydataexpress.ru/viewtopic.php?f=20&t=1572,
http://forum.mydataexpress.ru/viewtopic.php?f=20&t=1535,
http://forum.mydataexpress.ru/viewtopic.php?f=20&t=1562,
http://forum.mydataexpress.ru/viewtopic.php?f=20&t=1545,
http://forum.mydataexpress.ru/viewtopic.php?f=20&t=1537

Обсуждение >>>

Аватара пользователя
admin
Разработчик
Сообщения: 3891
Зарегистрирован: Пн мар 14, 2016 11:32 am
Откуда: Ленинградская

Re: Тестовая версия DataExpress 3 beta

Сообщение admin » Пн ноя 13, 2017 11:15 pm

Исправление:
1. Устранена ошибка "непонятного происхождения": http://forum.mydataexpress.ru/viewtopic.php?f=20&t=1546

Аватара пользователя
admin
Разработчик
Сообщения: 3891
Зарегистрирован: Пн мар 14, 2016 11:32 am
Откуда: Ленинградская

Re: Тестовая версия DataExpress 3 beta

Сообщение admin » Ср ноя 15, 2017 9:03 pm

Исправление:
1. Устранена ошибка при построении дерева формы.
2. При изменении файла не срабатывало событие формы OnFieldChange.
3. Снято ограничение по именованию модулей скриптов. Допускается любое сочетание символов (в том числе кириллица). Ведущие и конечные пробелы удаляются.

Аватара пользователя
admin
Разработчик
Сообщения: 3891
Зарегистрирован: Пн мар 14, 2016 11:32 am
Откуда: Ленинградская

Re: Тестовая версия DataExpress 3 beta

Сообщение admin » Чт ноя 16, 2017 12:23 pm

Исправление:
1. В действии "Печать" не работала опция "Сохранить запись". Запись сохранялась в любом случае. В простой форме это приводит к переходу в режим просмотра.
2. Подправлено описание функции Utf8Pos в дереве классов.

Аватара пользователя
admin
Разработчик
Сообщения: 3891
Зарегистрирован: Пн мар 14, 2016 11:32 am
Откуда: Ленинградская

Re: Тестовая версия DataExpress 3 beta

Сообщение admin » Ср ноя 22, 2017 8:10 pm

Обновление.
1. Доработка свойства формы "Поле предка", теперь оно называется "Иерархия". Кроме поля предка указывается примерное количество уровней. Таким образом программа определяет максимальную длину пути: группа А\подгруппа АА\подгруппа ААА... Если текст не помещается, то он усекается. Программа определяет попытку создания циклической ссылки (группа ссылается на саму себя или свою дочернюю подгруппу) и не позволяет сохранить запись. Это также реализовано в методе TdxForm.Validate.
2. При импорте проекта, программа делает преобразование действий кнопок в новый формат, если это требуется.
3. Добавлено событие главного окна OnDatabaseClose, которое может быть обработано расширением для освобождения памяти.
4. Исправлены ошибки:
Access Violation в action
Ошибка при нажатии Alt
Импорт,экспорт даты


Вернуться в «Новости и релизы платформы»