Поиск сообщества
Показаны результаты для тегов 'InputQuery'.
Найдено: 3 результата
-
Мультиплатформенное приложение. Delphi Tokyo. указываю 2 параметра для VAL и передаю это в TDialogService.InputQuery procedure TfmMain.Send(id: integer); Var val: array of string; cap: string; begin // запускаем диалог ввода имени SetLength(val, 2); val[0] := VarToStr(qCalls.Lookup('ID', id, 'name')); val[1] := id.ToString; cap := 'Введите имя'; TDialogService.InputQuery(cap, ['Имя клиента: '], Val, InputDialogHandlerGetShotName); end; В итоге, в недрах TDialogService.InputQuery получаю исключение: На андроиде ошибки нет.
-
Если нажимаю Отмена в InputQuery, InputQuery('Укажите свой ответ', ['Ответ'], [''], procedure(const AResult: TModalResult; const AValues: array of string) begin if (AResult=mrOk) and (AValues[0].Trim<>'') then begin // делаем что-то с AValues[0] end; end ); то получаю Segmentation Fault в FMX.Dialogs.Android (которого в Seattle не существовало) procedure TFMXDialogListener.onDialogClosed(modalResult: Integer; values: TJavaObjectArray<JString>); var I: Integer; begin FModalResult := modalResult; if values <> nil then begin SetLength(FValues, values.Length); for I := 0 to values.Length - 1 do begin if FModalResult = mrOk then FValues[I] := JStringToString(values.Items[I]) else FValues[I] := FDefaultValues[I]; // тут end end; TThread.Queue(FCallerThread, DoDialogClosed); end; Где у меня ошибка? PS. Delphi 10.1 Berlin PPS. в справке сказано Warning: InputQuery is deprecated. Please use Platform.IFMXDialogServiceAsync.MessageDialogAsync. InputQuery вышел из моды? )
- 5 ответов
-
- Delphi Berlin
- Cancel
-
(и ещё 1 )
C тегом:
-
Мне нужно вводить числа. В Edit можно указать тип клавиатуры KeyboardType = PhonePad. Как сделать появляющуюся при InputQuery клавиатуру типа PhonePad? procedure TForm1.Label1Tap(Sender: TObject; const [Ref] Point: TPointF); begin InputQuery('Введите число', [''], [''], procedure(const AResult: TModalResult; const AValues: array of string) begin if (AResult=mrOk) and (AValues[0].Trim<>'') then Label1.Text:=AValues[0].Trim; end ); end;