Перейти к содержанию
Fire Monkey от А до Я

estra

Пользователи
  • Постов

    371
  • Зарегистрирован

  • Посещение

  • Победитель дней

    20

Весь контент estra

  1. > Я решила пока оставить свой код как есть, наверное, он правильный. Ну как он может быть правильным? После создания и отображения форма сразу уничтожается (по коду), но продолжает отображаться на экране и нормально функционировать... В голове не укладывается, это из разряда - удивительно, но факт! Ярослав, пролейте свет на этот вопрос, самому уже интересно стало. А я бы сделал так: unit Unit1; interface uses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, Unit2, FMX.StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; f: TForm2; implementation {$R *.fmx} procedure TForm1.Button1Click(Sender: TObject); begin f := TForm2.Create( nil ); f.Show; end; end. unit Unit2; interface uses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.StdCtrls; type TForm2 = class(TForm) Label1: TLabel; Button1: TButton; procedure Button1Click(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); private { Private declarations } public { Public declarations } end; var Form2: TForm2; implementation {$R *.fmx} uses Unit1; procedure TForm2.Button1Click(Sender: TObject); begin Close; end; procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction); begin f := nil; end; end. То есть закрывающаяся форма сама уничтожает экземпляр объекта, связанного с ней (в момент закрытия формы мы точно знаем, что она нам больше не нужна). Это тоже не самый изящный код, но по сравнению с вашим этот мне кажется немного правильнее...
  2. Не синен я в плюсах, а на Delphi делаю так procedure TForm1.Button1Click(Sender: TObject); var f: TForm2; begin f := TForm2.Create( nil ); f.Show; f.Free; // или f.Destroy end; 1. В плюсах вместо nil скорее всего надо писать NULL 2. Из за использования в мобильной платформе автоматического подсчета ссылок (ARC), удалять возможно следует так f := nil // или NULL в плюсах (без delete Form2, но тут пусть лучше разработчики скажут)
  3. Может так? TForm *Form2 = new TForm2(0);
  4. > Может мое решение и не лучшее или даже плохое Странно, у меня этот код работает криво (XE6 Upd1) Ввожу в Edit любую цифру, но попадаю в условие if not(CharInSet(Edit1.Text[lc1], ['0'..'9', ',', '-'])) then begin delete(c1, lc11, 1); Edit1.Text:=c1; end; в итоге Edit остается пустой... что за бред?
  5. Аналогичная проблема, ответ так и не получен http://fire-monkey.ru/topic/388-android-tcomboedit-krivo-rabotaiut-sobytiia-keyup-i-keydown/
  6. Может есть аналог процедуры FloodFill из VCL?
  7. А как это сделать под MAC? Может предложите универсальный рецепт?
  8. Выложи, пожалуйста, на какой нибудь обменник и ссылку тут опубликуй.
  9. Почему, когда пытаюсь скачать прикрепленный файл, получаю сообщение "Извините, вы не имеете доступа к этому!"?
  10. Почему у TComboEdit события KeyUp и KeyDown срабатывают только при вводе числовых значений ('0'..'9') и не срабатывает при вводе других символов? Проверить очень просто unit Unit1; interface uses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.StdCtrls, FMX.Edit; type TForm1 = class(TForm) ComboEdit1: TComboEdit; Label1: TLabel; Label2: TLabel; procedure ComboEdit1KeyUp(Sender: TObject; var Key: Word; var KeyChar: Char; Shift: TShiftState); procedure ComboEdit1KeyDown(Sender: TObject; var Key: Word; var KeyChar: Char; Shift: TShiftState); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.fmx} procedure TForm1.ComboEdit1KeyDown(Sender: TObject; var Key: Word; var KeyChar: Char; Shift: TShiftState); begin Label2.Text := 'KeyChar = ' + KeyChar + #13 + 'Ord( KeyChar ) = ' + IntToStr( Ord( KeyChar ) ) + #13 + 'Key = ' + IntToStr( Key ); end; procedure TForm1.ComboEdit1KeyUp(Sender: TObject; var Key: Word; var KeyChar: Char; Shift: TShiftState); begin Label1.Text := 'KeyChar = ' + KeyChar + #13 + 'Ord( KeyChar ) = ' + IntToStr( Ord( KeyChar ) ) + #13 + 'Key = ' + IntToStr( Key ); end; end.
  11. Как узнать серийный номер на устройствах с iOS и Android?
  12. Это понятно, можно и TImage использовать. Но почему форму обделили этими событиями? А если нет объективных причин, то почему бы не сделать...
  13. Как узнать MAC адрес на устройствах с iOS и Android?
  14. Ярослав, По каким соображениям у форм отсутствуют события OnClick и OnDblClick? Они бы очень даже не помешали, введите их со следующим апдейтом или в крайнем случае в XE7.
  15. интересует, выкладывай.
  16. Да, у меня сложной иерархия объектов на форме, но это не изменить. Так что же, нет никак не решить и просто отказаться? Обидно однако
  17. В качестве предложения - порадуйте пользователей вашего продукта, сделайте отдельную утилиту а-ля Bitmap Style Designer, но чтобы работала с файлами *.style.
  18. Я сделал кастомный стиль для Android, сохранил его в файл *.style. Теперь мне нужно его подредактировать, но Bitmap Style Designer не умеет открывать файлы *.style (он открывает только *.vsf). Как же мне отредактировать свой стиль?
  19. Хочу сделать переключение TabItem'ов с 3D эффектом (Красивое 3D переключение вкладок в TabControl). Ну устройстве наблюдаются сильные тормоза при анимации, по-этому хочу запускать в отдельном потоке, но получаю ошибку ALOOPER_POLL_ERROR. Как исправить? TTabControl_3DRotation.zip
  20. Дело начинает проясняться. Поменять цвет выделенного итема получилось, но никак не получается изменить текст на этой кнопке и сделать чтобы она вообще не появлялась. Знающие, помогите примером!
  21. Если провести пальцем по ListViewItem слева направо, появляется кнопка "Delete". Как можно изменить ее стиль, и как можно сделать, чтобы она вообще не появлялась?
  22. Почему в "мобильных" проектах в контекстном меню компонентов отсутствует пункты "Edit Custom Style…" и "Edit Default Style…"?
  23. Создаем мобильное приложение, кидаем на форму кнопку. Свойству StyleLookup кнопки выставляем значение backgroundstyle. Под Виндой кнопка стала выглядеть по другому, а в Андроиде нет. Почему?
  24. DPI для Android uses FMX.Helpers.Android, Androidapi.JNI.Util; procedure TForm1.Button1Click(Sender: TObject); var Disp: JDisplayMetrics; NativeClientHeight, NativeClientWidth: Single; begin Disp := GetJDisplayMetrics; NativeClientWidth := ClientWidth * Disp.density; NativeClientHeight := ClientHeight * Disp.density; //Label1.Text := 'Width: ' + FloatToStr(NativeClientWidth); //Label2.Text := 'Height: ' + FloatToStr(NativeClientHeight); Label1.Text := FloatToStr( Disp.xdpi ); Label2.Text := FloatToStr( Disp.ydpi ); Label3.Text := IntToStr( Disp.densityDpi ); end; Для IOS облом, рассчитывай сам http://www.dpi.nu/, http://www.sven.de/dpi/, http://www.pxcalc.com/, http://www.pixelcalculator.com/ и т.п.
×
×
  • Создать...