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

sviat9440

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

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

  • Посещение

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

  1. Это будет дольше, чем если бы я, перенес все процедуры и элементы в новый проект
  2. Я же и говорю, я создал новый проект - работает, проверил Ваш - работает. А мой основной - не работает... Печально. Прийдется опять переносить все около 1000 эллементов и ссылок на новый проект. Кстати: кто знает как перенести все обьекты с одной формы на другую,( если все процедуры скопированны туда), чтобы не потерять действий обьектов и ссылок (Bind Visually)?
  3. В этом проекте я обошелся без перемешивания самих кнопок, а перемешиваются действия кнопок.
  4. estra, ОГРОМНОЕ ВАМ СПАСИБО!!!
  5. Вот кое что уже получилось - задача решена! Random_Button_posicion.zip
  6. Мне кажется в таком случае легче перемешать не сами кнопки, а действия, которые они будут выполнять...
  7. Спасибо за наводку. Работает (только не пойму как, потому что чайник ). Только вопрос: как оптимизировать этот код по перемешивание 6-ти кнопок в компоненте TGirdPanelLayout (3х2)? Да, можно конечно выстроить все кнопки в одну линию, но на моб. устройствах это будет выглядеть не красиво. А вот расположить их в сетке 3 на 2, другое дело.
  8. создал новый проект, сделал все как там показанно - РАБОТАЕТ как часы. ТОлько одного не пойму: Почему в моем проекте это не работает?
  9. Получается что после этого в системе висит пустое приложение без единой формы
  10. На вашем примере все работает, НО в моем проекте, форма не появляется на экране, а форма загрузки изчезает. procedure Tload.Timer2Timer(Sender: TObject); begin Timer2.Enabled:=false; Timer3.Enabled:=true; ld:= Loader.Create(true); ld.Start; end; procedure Tload.Timer3Timer(Sender: TObject); begin if ld.Finished then begin Timer3.Enabled:=false; Main_page.Show; // По идее должна появляться главная форма (не работает) load.Hide; // форма загрузки исчезает (работает) end; end; { Loader } constructor Loader.Create(susp: boolean); begin inherited Create(susp); end; procedure Loader.Execute; begin main_page:= Tmain_page.Create(Application); main_page.Parent:= load; sleep(5000); end;
  11. Ну тогда поток мне не нужен. Да и еще: Я погуглил на эту тему, там вроде ника нельзя из потока форму создать.
  12. Форма запускается, НО при создании ее приложение виснет так, как мы могли бы ее создать вне потока. Толку от потока в таком случае = 0.
  13. Andrey Yefimov, спасибо что отредактировал сообщение с кодом, просто у меня моб. интернет и кроме ввода текста ничего не работает...
  14. Нужно знать, что метод Synchronize выполняется в главном потоке приложения. Поэтому, работая с несколькими потоками в приложении и применяя метод Synchronize, нужно учитывать, что: во-первых, частый вызов Synchronize тормозит выполнение приложения; во-вторых, если практически все процедуры выполняющегося потока выполняются с использованием метода Synchronize, то смысла в создании такого потока нет - всё равно его работа пройдёт в главном потоке. А мне не нужно чтобы приложение тормозило...
  15. sviat9440

    Задача......

    Всем добрый вечер. Я разрабатываю программу тестирования, для экзамена. В каждом вопросе по 6 вариантов ответов. Мне нужно, чтобы 6 кнопок, на которых расположены варианты ответов, располагались в случайном порядке. 1*2*3*4*5*6=720 комбинаций постановок. Конечно, можно для каждой прописать свою команду. Есть ли более правильный и легкий способ это сделать? Заранее спасибо.
  16. На Андроиде приложение вообще закрывается. Может это баг компилятора?
  17. unit load_unit; interface uses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, main, loader_unit, FMX.StdCtrls, FMX.Ani, FMX.Objects, FMX.Controls.Presentation, IdThreadComponent, IdBaseComponent; type Tload = class(TForm) Light: TStyleBook; Panel9: TPanel; Image1: TImage; Arc1: TArc; FloatAnimation1: TFloatAnimation; Img1: TFloatAnimation; Label1: TLabel; Timer1: TTimer; Timer2: TTimer; procedure Timer1Timer(Sender: TObject); procedure Timer2Timer(Sender: TObject); private public end; type TMyThread = class(TThread) private { Private declarations } protected procedure Execute; override; end; var load: Tload; MyThread: TMyThread; implementation {$R *.fmx} procedure Tload.Timer1Timer(Sender: TObject); begin Timer1.Enabled:=false; Application.FormFactor.Orientations := [TFormOrientation.Landscape, TFormOrientation.InvertedLandscape]; Timer2.Enabled:=true; end; procedure Tload.Timer2Timer(Sender: TObject); begin Timer2.Enabled:=false; MyThread:= TMyThread.Create(false); end; { TMyThread } procedure TMyThread.Execute; begin with TMain_page.Create(Application) do Begin Show; load.Hide; End; inherited; end; end. При выполнении этого кода НИКАКИХ проблем в отладке не возникает. В диспетчере задач видно что на 20 мб обьем используемой ОЗУ увеличилось. Но форма не появляется на экране.
  18. О, нашел ошибку. В type я писал MyThread, тогда как надо было TMyThread. Все заработало, но проблема остается проблемой - форма (неизвестно создается или нет) не появляется на экране даже прингудительно.
  19. Да, пробовал. Ругается на : var ... MyTask: TMyTask; Ну и соответственно на все остальные действия связанные с TMyTask.
  20. У меня вообще с потоками какаято ерунда. Ошибки с пустого места. Это ошибка: var ... MyThread: TMyThread; TMyThread - Показывает что это неизвестный идентификатор...
  21. ан нет, вру: даже при отладке не ругается ни на что. Ругаться начинает когда я задаю Main.Show; при клике на кнопку...
  22. Ну и ЕСЛИ не возможно корректно создать форму в потоке, то КАК отрисовывать дугу с флоат анимацией в потоке.
  23. С этим компонентом - та же проблема... Если я выполняю в обычном режиме: TMainForm.Create(Application); то форма создается и открывается автоматически. Если я выполняю в потоке, то форма (незнаю создается или нет вообще) не появляется на экране, даже при клике на кнопку после создания формы. Визуально ошибок не выдает, только в отладке ругается (на что - так-же конкретно неизвестно).
  24. У меня собственный индикатор, состоит из трех обьектов: панель, картинка(логотип), Дуга(Вращается вокруг логотипа с помощью флоат анимации). Вся проблема состоит в том, что форма создается, но не может быть выведена на экран методом Show
×
×
  • Создать...