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

GASCHE

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

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

  • Посещение

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

    12

Сообщения, опубликованные GASCHE

  1. 8 часов назад, rareMax сказал:

    ууу кипишь.

    Да нет, просто не представляю того, кто рискнет писать серьезные приложения на FMX, а не серьезные так их и ломать будут не по серьезному. 

  2. Нет, но думаю что если FMX настолько устойчива к взлому и примерно представляя как пытаются защитить свой софт некоторые компании, то  Kitty  не поднимала бы вопрос о дальнейшей судьбе FMX.

  3. 3 часа назад, rakhmet сказал:

    Да, придётся мне повременить с публикацией - архитектура в том виде, в каком она сейчас есть, вообще не годится.

    Сколько не видел хороших приложений, почти всегда есть взломанные.

  4. 7 часов назад, AlexG сказал:

    Во-первых TTask.Run запустит ваш обработчик нажатия на выделенный элемент в отдельном потоке

    А переменная Button будет видна в этом отдельном потоке в случае завершения процедуры lbxMouseUp?

  5. 21 час назад, Zawuza сказал:

    К сожалению, два клиента не могут соединиться друг с другом...

    Думаю вы не поняли, попробую по-другому.  На каждом компе установите программы клиента и сервера. Каждый сервер будет слушать запросы других клиентов и скидывать им данные клиента, установленного на этом же компе.

  6. Перефразирую, читать данные других клиентов с сервера, проводить вычисления, итоги и свои данные скидывать на сервер.

    12 часов назад, Akromd сказал:

    они имели возможность соединятся без стационарного сервера

    Это возможно, на каждом клиенте поднимаете свой сервер, который будет слушать запросы других клиентов и скидывать им требуемые данные. Но не думаю, что это будет проще чем работа с одним сервером.

  7. 31 минуту назад, Akromd сказал:

    Соответственно и хотелось бы скинуть вычисления на клиентов

    Как-то не понятно, что мешает каждому клиенту читать данные с сервера, проводить вычисления, итоги скидывать на сервер?

  8. 13 часов назад, giveaway сказал:

    Как принудительно завершить поток

    Если можно принимать данные блоками, то можно так
     

      WHILE NOT ThreadData.Terminated DO BEGIN 
      END;


    Сейчас уже не помню почему но перешёл на BeginThread.

  9. 9 часов назад, Steepe_Hare сказал:

    который бы работал, как задумывается!

    Да чтоб понять как вы задумали надо обращаться к Кашпировскому.  Запускайте цикл

    while not Cancelled do begin
       Inc(I);
    end;

    в потоке думаю это решит вашу проблему.
      


     


     

  10. 1 час назад, Steepe_Hare сказал:

    под работает я понимаю, что программа дожидается пяти нажатий кнопки

    Если в 5 кучках по два яблока, то узнать общее количество можно сложением, а можно умножением ответ в том и в другом случае будет правильным. Вы запустите свой пример в Windows и посмотрите в диспетчере задач загрузку процессора сразу все станет ясно.

  11. 1 час назад, Steepe_Hare сказал:

    Задача: дождаться действий пользователя (допустим, 5 раз нажать на Button2) и только потом выполнять следующий после этого код

    А что мешает так изменить ваш пример
     

    procedure TForm1.Button1Click(Sender: TObject);
    begin
      i := 0;
      Finish := False;
      Memo1.Lines.Add('Start');
      Button2.Enabled := True;
    
      Button1.Enabled := False;
    end;
    
    procedure TForm1.Button2Click(Sender: TObject);
    begin
      Inc(i);
      Memo1.Lines.Add(IntToStr(i));
    
      if (i = 5) then
      begin
        Finish := True;
        Button2.Enabled := False;
        Ogogo();
      end;
    end;
    
    procedure TForm1.Ogogo();
    BEGIN
      //while not Finish do
        //Application.ProcessMessages;
      Memo1.Lines.Add('Finish');
      Button1.Enabled := True;
    END;
    

     

×
×
  • Создать...