Yarpda
-
Постов
176 -
Зарегистрирован
-
Посещение
-
Победитель дней
8
Сообщения, опубликованные Yarpda
-
-
Здравствуйте !
Опираясь на вопрос http://fire-monkey.ru/topic/432-sovety-po-sozdaniiu-mobilnogo-prilozheniia-master-detail/?p=1638 и на осознанную на практике невозможность корректного уничтожения динамически созданного фрейма, вопрос http://fire-monkey.ru/topic/905-android-tframe-oshibka-pri-dinamicheskom-udaleniisozdanii/ хочу спросить, какие преимущества и недостатки в замене фреймов формами, если вместо фрейма динамически создавать форму и затем закрывать ее методом Close, указав в OnClose: Action:=TCloseAction.caFree; Пугает простота данного решения . В ЧЕМ ПОДВОХ ? :-)))
Тоже столкнулся с этой проблемой. И подвох похоже в том, что память при закрытии формы таким образом почему-то не освобождается, и на команду Assigned(Myform) отвечает true, после такого закрытия.
Но, что-то он конечно делает, т.к. после такого закрытия myform.show вызывает AV.
Может эта фишка корректно только на IOS работает...
-
Согласен, но в некоторых случаях и такой выход помогает. Думаю что в следующих версиях Delphi это будет исправлено.
-
Нашел что если окно не создавать динамически, а оставлять в auto-create, то такой эффект не наблюдается. Но это явно какой-то глюк...
-
Прикладываю проект, в котором этот эффект наблюдается.
Описание последовательности действия прямо в приложении.
Вроде пустяковый баг, но ни как не могу его обойти и от него избавиться.
-
Дополнение. Форма на которой лежат Tmemo и TEdit, не является главной, т.е. она тоже создана из главной формы.
И самое интересное, что если вызывать клавиатуру принудительным методом, то клавиатура есть каретка (где печается) в мемо и едите не появляются. Предполагаю, что что это нештатное поведение компонентов, но вот чем оно вызвано...
-
Подтверждаю проблему, Только у меня еще и Memo на форме ведет себя точно также.
Т.е. есть форма на ней Tedit и TMemo и кнопка. Все редактируется, клавиатура открывается и т.д. Нажимаем на кнопку, которая создает и показывает новое окно, после чего окно закрываем клавишеь Back на телефоне, открывается предыдущее окно, но в ем уже нет возмжности внести изменения в эдит и мемо, т.к. не показывается клавиатура. Видно что контролы принимают фокус, но клавиатура не отображается совсем. Мне кажется дело именно с невызовом виртуальной клавиатуры. Под Win такой проблемы естественно нет, т.к. клавиатура физическая,а вот под андроид. Подскажите как обойти данную проблему?
P.S. Андроид 4,4, XE7.1
-
Спасибо! Постараюсь больше не офтопить. )
-
Спасибо Алексей за разъяснения. Осталось только одна неясность для меня. Т.е. в случае изменения стиля по умолчанию и в случае изменения custom стиля, эти изменения будут распространяться только на текущую форму, т.е. ту на которой лежит StyleBook? Если да, можно ли как-то поместить StyleBook в датамодуль и использовать один стиль на все формы, или придется помещать StyleBook на каждую форму?
-
Спасибо большое за ответы! Я думал в этом направлении, но c FM только пытаюсь работать, и после перехода с VCL, конечно многое приходится переосмысливать. Меня смущало то что "Edit Default Style" затронет все Едиты в проекте. Признаюсь даже были мысли что стиль по умолчанию может иметь влияния на все проекты, а не только на этот. А мне надо изменить стиль только в на одной форме. Еще где-то читал, что такие манипуляции существенно увеличивают финальный размер приложения. Пожалуйста, развейте мои сомнения? :-) (можно ссылкой).
Дополнено: странно, но у меня нет возможности удалить background из стиля. В контекстном меню нет такой команды. При помощи клавиши Del тоже ничего не происходит.
Или имелось ввиду visible = false?
-
Можно ли как-то сделать отдельно взятый TEdit полностью прозрачным в Андроид, в частности убрать линию снизу?
Поместил TEdit в TRectangle залитый цветом, линия, которая есть у Edit'а визуально выделяется, от чего хотелось бы избавиться.
Можно ли это сделать?
-
Кстати у TListViewItem нет свойства Visible
Ааа ну да, есть только у ListBox'a, пардон...
-
Всем привет! В компоненте TListView есть свойства SearchVisible. Установив его в true сверху компонента появляется строка поиска. Работает вполне сносно. В своем проекте я использую кастомыный ItemAppearance из примеров ("MultiDetailItem"). Как сделать так чтобы поиск фильтровал итемы не только по свойству "text" у итемов, но и ,например, по Detail1, Detail2, Detail3?
Попробую предположить, что проще будет создать свой edit для строки фильтрации. Пробегать по итемам листа перебором и выставлять свойство item(i).Visible = false, где во всех нужных полях не содержится искомая комбинация. Хотя и изменить логику поведения в модуле FMX.SearchBox.pas наверное тоже возможно при желании.
-
Спасибо! Сам бы не догадался до такого.
-
Собственно вопрос теме.
Не нашел никаких средств управления строкой поиска во встроенном у ListView SearchBox'e.
Интересует возможность из кода очистить(изменить) строку поиска и передать на нее фокус.
Возможно ли это?
-
InputQuery('Има пользователя',['Парам1', 'Парам2'], ['1','2'], procedure(const AResult: TModalResult; const AValues: array of string) begin if AResult = mrOk then ShowMessage(AValues[0]); if AResult = mrCancel then ShowMessage(AValues[1]); end );
Все отлично. Большое спасибо!
-
uses System.UITypes; MessageDlg('Вопрос', TMsgDlgType.mtConfirmation,[TMsgDlgBtn.mbYes, TMsgDlgBtn.mbNo], -1, procedure (const AResult: TModalResult) begin if AResult = mrYes then begin end; if AResult = mrNo then begin end; end );
Тоже самое и для TForm.ShowModal
Это понятно, хотелось бы живой именно на inputQuery, с получением введенной пользователем строки. Похоже там всетаки есть особенности.
-
На сколько я успел найти информацию, в XE7 теперь не используется блокирующих окон.
для выполнения кода после нажатия кнопок нужно использовать Callback функцию ACloseQueryFunc;
Нашел нечто похожее про MessageDlg, но сделать по аналогии не удалось. Как мне передать в фун0кцию ACloseQueryFunc на какую кнопку нажал пользователь и
какой текст он ввел?
Подскажите пожалуйста.
-
Да помогло, спасибо!
-
Обнаружилось странное поведение встроенного поиска у ListBox'a. В XE5 проблема была с регистром, в XE6 такой проблемы нет, а вот в XE7 поведение поиска стало не предсказуемым, описать которое сложно. В некоторых строках чувствительный к регистру, в некоторых нет, в некоторых вводишь даже с нужным регистром, показывает что не найдено. Есть ли у кого-нибудь подобная проблема, или это частный случай?
-
Спасибо, все оказалось проще чем казалось... )
-
Я имел ввиду горизонтальную полоску - текущей записи, она получается видимой только в строках, которые не переопределены,
придется ее убрать, а есть ли какие то в гриде другие возможности индикации текущей записи?
Как я понимаю тут имеется ввиду, что при выделении данной строки (options.rowselect = true) выделяются (голубым) только те ячейки, которые мы не перерисовывали сами методом DrawColumnCell. А хотелось бы чтобы они выделялись также.
Меня тоже интересует этот вопрос.
-
Ярослав, извиняюсь, но своего опыта в FM не хватает.
Все работает, но есть пара неудобств.
- Пропадают линии, разделяющие ячейки (они отражаются у других, а у этой нет). Как бы их добавить, причем те же самые что использует Grid.
- Пропадает выделение этой ячейки, щелчок на ячейке ее не выделяет (не подкрашивает как остальные, которые не обрабатывались), а хотелось бы чтобы общий стиль не изменялся при манипуляциях с размером или цветом шрифта.
Заранее спасибо.
[Android] TForm или TFrame ?
в Консультации
Опубликовано
Возможно, но когда его запускать, если модальные формы не доступны?