-
Постов
423 -
Зарегистрирован
-
Посещение
Весь контент sviat9440
-
Это будет дольше, чем если бы я, перенес все процедуры и элементы в новый проект
-
Я же и говорю, я создал новый проект - работает, проверил Ваш - работает. А мой основной - не работает... Печально. Прийдется опять переносить все около 1000 эллементов и ссылок на новый проект. Кстати: кто знает как перенести все обьекты с одной формы на другую,( если все процедуры скопированны туда), чтобы не потерять действий обьектов и ссылок (Bind Visually)?
-
В этом проекте я обошелся без перемешивания самих кнопок, а перемешиваются действия кнопок.
-
estra, ОГРОМНОЕ ВАМ СПАСИБО!!!
-
Вот кое что уже получилось - задача решена! Random_Button_posicion.zip
-
Мне кажется в таком случае легче перемешать не сами кнопки, а действия, которые они будут выполнять...
-
Спасибо за наводку. Работает (только не пойму как, потому что чайник ). Только вопрос: как оптимизировать этот код по перемешивание 6-ти кнопок в компоненте TGirdPanelLayout (3х2)? Да, можно конечно выстроить все кнопки в одну линию, но на моб. устройствах это будет выглядеть не красиво. А вот расположить их в сетке 3 на 2, другое дело.
-
создал новый проект, сделал все как там показанно - РАБОТАЕТ как часы. ТОлько одного не пойму: Почему в моем проекте это не работает?
-
Получается что после этого в системе висит пустое приложение без единой формы
-
На вашем примере все работает, НО в моем проекте, форма не появляется на экране, а форма загрузки изчезает. 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;
-
Ну тогда поток мне не нужен. Да и еще: Я погуглил на эту тему, там вроде ника нельзя из потока форму создать.
-
Форма запускается, НО при создании ее приложение виснет так, как мы могли бы ее создать вне потока. Толку от потока в таком случае = 0.
-
Andrey Yefimov, спасибо что отредактировал сообщение с кодом, просто у меня моб. интернет и кроме ввода текста ничего не работает...
-
Нужно знать, что метод Synchronize выполняется в главном потоке приложения. Поэтому, работая с несколькими потоками в приложении и применяя метод Synchronize, нужно учитывать, что: во-первых, частый вызов Synchronize тормозит выполнение приложения; во-вторых, если практически все процедуры выполняющегося потока выполняются с использованием метода Synchronize, то смысла в создании такого потока нет - всё равно его работа пройдёт в главном потоке. А мне не нужно чтобы приложение тормозило...
-
Всем добрый вечер. Я разрабатываю программу тестирования, для экзамена. В каждом вопросе по 6 вариантов ответов. Мне нужно, чтобы 6 кнопок, на которых расположены варианты ответов, располагались в случайном порядке. 1*2*3*4*5*6=720 комбинаций постановок. Конечно, можно для каждой прописать свою команду. Есть ли более правильный и легкий способ это сделать? Заранее спасибо.
-
На Андроиде приложение вообще закрывается. Может это баг компилятора?
-
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 мб обьем используемой ОЗУ увеличилось. Но форма не появляется на экране.
-
О, нашел ошибку. В type я писал MyThread, тогда как надо было TMyThread. Все заработало, но проблема остается проблемой - форма (неизвестно создается или нет) не появляется на экране даже прингудительно.
-
Да, пробовал. Ругается на : var ... MyTask: TMyTask; Ну и соответственно на все остальные действия связанные с TMyTask.
-
У меня вообще с потоками какаято ерунда. Ошибки с пустого места. Это ошибка: var ... MyThread: TMyThread; TMyThread - Показывает что это неизвестный идентификатор...
-
ан нет, вру: даже при отладке не ругается ни на что. Ругаться начинает когда я задаю Main.Show; при клике на кнопку...
-
Ну и ЕСЛИ не возможно корректно создать форму в потоке, то КАК отрисовывать дугу с флоат анимацией в потоке.
-
С этим компонентом - та же проблема... Если я выполняю в обычном режиме: TMainForm.Create(Application); то форма создается и открывается автоматически. Если я выполняю в потоке, то форма (незнаю создается или нет вообще) не появляется на экране, даже при клике на кнопку после создания формы. Визуально ошибок не выдает, только в отладке ругается (на что - так-же конкретно неизвестно).
-
У меня собственный индикатор, состоит из трех обьектов: панель, картинка(логотип), Дуга(Вращается вокруг логотипа с помощью флоат анимации). Вся проблема состоит в том, что форма создается, но не может быть выведена на экран методом Show
-
А как хоть его отрисовывать?