Процедура редактирования одной записи в базе выглядит так:
uses uDM, CRAccess, DASQLGenerator, FMX.Platform, FMX.DialogService, FMX.Utils;
...
...
procedure TfmReference.actEditExecute(Sender: TObject);
Var
val: array of string;
sTableName, cap: string;
SyncService : IFMXDialogServiceSync;
id: integer;
begin
SetLength(val, 1);
val[0] := ListView1.Items[ListView1.Selected.Index].Objects.FindObjectT<TListItemText>('name').Text;
id := StrToIntDef(ListView1.Items[ListView1.Selected.Index].Objects.FindObjectT<TListItemText>('id').Text, -1);
cap := comboRefType.Items[comboRefType.ItemIndex];
sTableName := GetTableName;
if TPlatformServices.Current.SupportsPlatformService(IFMXDialogServiceSync, IInterface(SyncService)) then
if SyncService.InputQuerySync(cap, ['Изменить: '], val) then
begin
sqlInsert.sql.Text := Format('update %s set name = ' + QuotedStr(val[0]) + 'where id = ' + IntToStr(ID), [sTableName]);
sqlInsert.Execute;
end;
end;
Т.е. на форме ListView в режиме DynamicAppearance.
Щёлкаем по строке, нажимает кнопку редактировать (actEditExecute).
на Windows появляется окно ввода, но нет реакции на кнопку Отмена или Закрыть. При вводе значения и нажатии на OK, запись меняется.
На Android 5 вообще не появляется диалоговое окно. Но actEditExecute выполняется. Например, если не выбрать строку списка и нажать Изменить, то появляется AV.
Я так понимаю, что на Android SupportsPlatformService возвращает False.
Тогда как реализовать InputBox или InputQuery на всех платформах или хотя бы на Windows и Android? Свое окно создавать и самому воспроизводить функционал InputBox или InputQuery?
Вопрос
x11
Процедура редактирования одной записи в базе выглядит так:
Т.е. на форме ListView в режиме DynamicAppearance.
Щёлкаем по строке, нажимает кнопку редактировать (actEditExecute).
на Windows появляется окно ввода, но нет реакции на кнопку Отмена или Закрыть. При вводе значения и нажатии на OK, запись меняется.
На Android 5 вообще не появляется диалоговое окно. Но actEditExecute выполняется. Например, если не выбрать строку списка и нажать Изменить, то появляется AV.
Я так понимаю, что на Android SupportsPlatformService возвращает False.
Тогда как реализовать InputBox или InputQuery на всех платформах или хотя бы на Windows и Android? Свое окно создавать и самому воспроизводить функционал InputBox или InputQuery?
Ссылка на комментарий
25 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.