Последняя версия DataExpress 3 beta от 15 сентября 2020 года.

Изображение Скачать | Изображение Что нового?



Объявление:

Если вам понравилась программа и вы ее интенсивно используете - замолвите словечко о ней на вашем сайте (блоге, форуме, твитере, краской на подъезде, ютуб-канале и т.д.) с активной (по-возможности) ссылкой на сайт программы/форум. Тем самым вы можете внести небольшой вклад в seo-карму проекта в виде входящих ссылок.
Спасибо! Администрация :)


>> Обсудить <<

Перестали работать скрипты

Все о том как сделать что-то с помощью скриптов.
Аватара пользователя
Develop-Soft
Сообщения: 1752
Зарегистрирован: 05 мар 2019, 18:09
Благодарил (а): 122 раза
Поблагодарили: 472 раза
Контактная информация:

Перестали работать скрипты

Сообщение Develop-Soft » 10 авг 2019, 14:43

1. Открытие записи в обход блокировки

Вот такого вида скрипт:

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

procedure Self_Grid_OnDblClick(Sender: TObject);
var Fm:TdxForm;
    id:integer;
begin
  id := Self.recid;
  Fm := TdxForm.Create(Self.FormCaption);
  Fm.OpenRecord(id);
  Fm.Edit;
  Fm.EditWindow.ShowModal;
  if Fm.EditWindow.ModalResult=mrOk then
  Fm.Post else Fm.Cancel;
  Fm.Free;
  Self.Refresh;
  Self.GoToRecord(id);
end;

procedure Form_Create;
begin
 Self.Grid.OnDblClick:=@Self_Grid_OnDblClick;
end;   

в предыдущих версиях в сетевой БД без проблем открывает занятую запись игнорируя блокировку.
В последней версии он перестал работать и открывает занятую запись только в режиме чтения:
Изображение
Как это можно исправить?

Аватара пользователя
Develop-Soft
Сообщения: 1752
Зарегистрирован: 05 мар 2019, 18:09
Благодарил (а): 122 раза
Поблагодарили: 472 раза
Контактная информация:

Перестали работать скрипты

Сообщение Develop-Soft » 10 авг 2019, 17:55

2. Создание формы

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

procedure test(Sender: TObject);
begin
   TdxForm.Create('Форма 1').EditWindow.ShowModal;
end;

procedure Form_Create;
begin
 dxButton1.OnClick:=@test;
end;     

Аналогично: в предыдущих версиях работал, теперь выдает:

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

[Window Title]
Неожиданное исключение
[Content]
Опа! Извините за неудобства. Неожиданное исключение.
Класс исключения: EDatabaseError
Сообщение:  : Field not found : "id"
Модуль: Форма 11
Тип модуля: Форма
Процедура: TEST
[ОК]

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

Перестали работать скрипты

Сообщение admin » 10 авг 2019, 21:18

1. Так всегда и работало. Edit не позволяет менять редактируемую запись и возвращает статус записи.
2. Не знаю как это может работать правильно, если набор данных закрыт. В любом случае сначала надо открыть набор данных.

Аватара пользователя
Develop-Soft
Сообщения: 1752
Зарегистрирован: 05 мар 2019, 18:09
Благодарил (а): 122 раза
Поблагодарили: 472 раза
Контактная информация:

Перестали работать скрипты

Сообщение Develop-Soft » 10 авг 2019, 21:50

admin писал(а):1. Так всегда и работало.

Предварительно отработал этот же скрипт на ранней версии (под рукой оказалась ноябрьская 18) - в ней оба экземпляра, висящие на локалхосте, показали ок+отмена... Могу снять видос.

2. Аналогично. Старая версия не выдала ошибок. Всплыло ни с того ни с сего при передаче созданной формы в другую процедуру, хотя раньше идентичный прием не сбоил ни в одном скрипте.

P.S. Больше волнует 1-й скрипт. То, что Edit в скрипте игнорит таблицу блокировки - вычислил уже давно и планировал применить это для изменения логики в расширении. Сейчас же столкнулся с тем, что Edit не работает так как раньше...

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

Перестали работать скрипты

Сообщение admin » 10 авг 2019, 22:08

1. Добавлены были пользователи?
2. А что за форма?

Аватара пользователя
Develop-Soft
Сообщения: 1752
Зарегистрирован: 05 мар 2019, 18:09
Благодарил (а): 122 раза
Поблагодарили: 472 раза
Контактная информация:

Перестали работать скрипты

Сообщение Develop-Soft » 10 авг 2019, 23:01

1. Да. 1 и 2. С правами разработчика. Перепроверил несколько раз...

2. Наскоряк созданная форма с одним полем, ничего лишнего (это уже потом создал специально для проверки, чтобы исключить конфликты). А изначально поймал эту ошибку при передаче формы как объекта в TTreeView и попытке ее вызова из Data.

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

Перестали работать скрипты

Сообщение admin » 11 авг 2019, 12:43

1. Так не должно было работать. Я не помню, чтобы я делал там какие-то изменения. Если бы это сработало в текущей версии, то считалось бы ошибкой.
2. В любом случае это было неправильно. Набор данных должен быть открыт перед показом окна.

Аватара пользователя
Develop-Soft
Сообщения: 1752
Зарегистрирован: 05 мар 2019, 18:09
Благодарил (а): 122 раза
Поблагодарили: 472 раза
Контактная информация:

Перестали работать скрипты

Сообщение Develop-Soft » 11 авг 2019, 12:45

1. Креново... Я уже было на этом целую логику выстроил. Не очень хочется придумывать костыль с очисткой таблицы блокировки, но да ладно, придумаю что-нибудь.


Вернуться в «Общие вопросы.»