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

fsdb

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

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

  • Посещение

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

    3

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

  1. выбираю чистый проект Firemonkey под Android, кидаю на форму Trackbar, в свойствах ставлю traking=false

    пару раз на телефоне дергаю его в лево в право касанием, затем методом перетаскиванием(пальцем) и тут начинается нечто:
    я ставлю новое значение любым методом а он на секунду устанавливается и возвращается в прежнию позицию. колбасит его по полной.

    проверьте пожалуйста. тестировал на Tokio 10.2 и 10.2.2

    вот сам apk

    https://yadi.sk/d/7rZtBiZv3Syxw4

  2. type
      all = record
        SettingStream: TObjectList<TControl>; // сам объект
        TypeName: TstringList;
        // тип объекта для создания (TButton, Timage и так далее)
        ActionList: TstringList; // закрепленные за объектом действия
        PropertList: TstringList; // дополнительные свойства объекта
      end;

    Возможно как то связано с TObjectList<TControl>, исключение всплывает в System.Generics.Collections

  3. Добрый день. подскажите пожалуйста. Делаю приложение в firemonkey и раньше без проблем запускал приложение на Berlin, утсновкил Tokio и получаю сразу после компиляции. в приложении в основном использую StringGrid1, более ничего.

    как мне отловить - в чем проблема именно? я вышел за Range, каким то образом и не могу понять как и где. пытаюсь отловить дебагером но до него дело не доходит. сразу после компиляции эта ошибка.

    image.png.a0589a67ca9c5e4241311450805fb903.png

     

     

     

  4. Ребята, извините. Я немного не точно написал. т.е. дельфи устанавливается под винду как обычно а просто уже подключаются через коннектор. я просто хочу понимать - удаленная отладка получится на этом процессоре? кто то писал что вот линукс отлаживать так нельзя, только андройд на ARM.   а тут вроде другой процессор и хотелось бы понимать смогу ли я отлаживать.

    второй вопрос - а можно допустим отлаживать на виртуальной машине ,а готовый результат запускать на этом Orange pi h5 h6 ?

  5. Ребята подскажите /помогите.

    есть вот эта демка http://www.esegece.com/websockets/protocols/mqtt

    и использовал crossvcl-trial.

    получилось забавно (скриншот 1), но не совсем то что я хотел. GUI мне вообще никак не нужен.  но в противном случае компоненты ведут себя странно если консольное приложение см скриншот 2. на топики не подписывается, т.е. подписка работает только если VCL и мы подписку в кнопке сделали, а не сразу после подключения к серверу(даже если добавить пазузу не помогает) (в кнсольном). не формируется GUID (скриншот 2)  и вообще как то странно себя ведет ИМЕННО В КОНСОЛЬНОМ ПРИЛОЕЖЕНИИ хоть под линукс, хоть под Windows. только если VCL. как будто часть задач отрезали. ошибок не выводит,не понятно что происходит. код прилагаю. я не силен  в дельфи- помогите.

    image.thumb.png.8b27369d763c5fd55ff19fdc0972a268.png

     

    image.png.7cc89d88cfd73386f4907c6c857bc562.png

     

     

    program LinuxMQTT;
    
    {$APPTYPE CONSOLE}
    
    {$R *.res}
    
    uses
      System.SysUtils,
      sgcWebSocket_Classes,
      sgcWebSocket_Client,
      sgcWebSocket,
      sgcWebSocket_Protocol_Base_Client,
      idGlobal,
      sgcWebSocket_Protocols,
      sgcWebSocket_Types,
      sgcWebSocket_Classes_Indy,
      sgcWebSocket_Protocol_MQTT_Client,
      sgcWebSocket_Protocol_MQTT_Message;
    
    Type
      OnMyPublish = Class
    procedure OnMQTTPublish(Connection: TsgcWSConnection; aTopic, aText: string);
    
      end;
    
    
     procedure  OnMyPublish.OnMQTTPublish(Connection: TsgcWSConnection; aTopic: string; aText: string);
     begin
     writeln(aTopic+aText);
     end;
    
    
    
      var
       WSClient: TsgcWebSocketClient;
       MQTT:TsgcWSProtocol_MQTT_Client;
    
       MyPublish:OnMyPublish;
    
    
    begin
    
    
    
    
      WSClient:=TsgcWebSocketClient.Create(nil);
    
    
    
      WSClient.ConnectTimeout:=0;
        WSClient.TLS:=false;
    
          WSClient.Proxy.Enabled := false;
      WSClient.Proxy.Username := '';
      WSClient.Proxy.Password := '';
      WSClient.Proxy.Host := '';
    
      WSClient.Port:=80;
      WSClient.Host :='192.168.1.40';      //40
    
    
    
      WSClient.Authentication.Basic.Enabled:=false;
       WSClient.Authentication.Enabled:=false;
      WSClient.Authentication.User:='';
      WSClient.Authentication.Password:='';
     WSClient.Authentication.URL.Enabled:=true;
      WSClient.Authentication.Session.Enabled:=true;
    
     WSClient.Extensions.DeflateFrame.Enabled:=false;
    WSClient.Extensions.DeflateFrame.WindowBits:=15;
    
    
    WSClient.Extensions.PerMessage_Deflate.ClientMaxWindowBits:=15;
    WSClient.Extensions.PerMessage_Deflate.ClientNoContextTakeOver:=false;
    WSClient.Extensions.PerMessage_Deflate.Enabled:=false;
    WSClient.Extensions.PerMessage_Deflate.MemLevel:=1;
    WSClient.Extensions.PerMessage_Deflate.ServerMaxWindowBits:=15;
    WSClient.Extensions.PerMessage_Deflate.ServerNoContextTakeOver:=false;
    
    
      WSClient.ConnectTimeout:=0;
       WSClient.Extensions.DeflateFrame.Enabled:=false;
    WSClient.Extensions.DeflateFrame.WindowBits:=15;
       WSClient.NotifyEvents:=neAsynchronous;
      WSClient.IPVersion:=idGlobal.TIdIPVersion(Id_IPv4);
      WSClient.HeartBeat.Enabled:=false;
        WSClient.HeartBeat.Interval:=300;
      WSClient.HeartBeat.Timeout:=0;
    
    
    
      WSClient.NotifyEvents:=sgcWebSocket_Types.TwsNotifyEvent(neAsynchronous);
      WSClient.Options.FragmentedMessages:=frgOnlyBuffer;
      WSClient.Options.Origin:='';
      WSClient.Options.Parameters:='/ws';
      WSClient.Options.RaiseDisconnectExceptions:=True;
    
    
    
      WSClient.Specifications.Drafts.Hixie76:=false;
      WSClient.Specifications.RFC6455:=true;
    
    
      WSClient.ReadTimeout:=-1;
    
      WSClient.TLS:=false;
    
    
    
     MQTT:=TsgcWSPClient_MQTT.Create(nil);
     MyPublish:=OnMyPublish.Create;
    
     MQTT.OnMQTTPublish:=MyPublish.OnMQTTPublish;
    
    
     MQTT.Authentication.Enabled:=false;
     MQTT.Authentication.Password:='';
     MQTT.Authentication.UserName:='';
     MQTT.Client:=WSClient;
     MQTT.Guid:='';
     MQTT.HeartBeat.Enabled:=true;
     MQTT.HeartBeat.Interval:=300;
    
     MQTT.Authentication.Enabled := false;
     MQTT.Authentication.UserName := ''; // requires username
     MQTT.Authentication.Password := ''; // requires username
    
     MQTT.LastWillTestament.Enabled:=false;
     MQTT.LastWillTestament.QoS:=mtqsAtMostOnce;
     MQTT.LastWillTestament.Retain:=false;
     MQTT.LastWillTestament.Text:='';
     MQTT.LastWillTestament.Topic:='';
    
    
    
     WSClient.Active := True;
    
    // MQTT.Connect;
    
    
    
     MQTT.Subscribe('tms/chat');
     //получение инфы
    
    
     MQTT.Publish('tms/chat', '3333333', TmqttQoS(0), false);
     //раздача инфы
    
    
    
    
    
    end.

     

     

     

     

  6. я смотрел это видео. как получилось добавить строчку Linux? или нужно выбрать консольное приложение а потом в нем можно добавить форму:???? объясните как повторить видео.? порядок?

     

  7. Не могу понять порядок действий/события которые нужно обрабатывать в Android.

    есть температура в значении Single и TrackBar . если температура еще не достигла определенного уровня то при попытке изменить значение в TrackBar - вывести предупреждение что есть опасность. Yes/Cancel что то такое.

    в каком событии обработать? какое событие срабатывает до того как еще пытаются только установить новое значение. не пойму как обработать

  8. Добрый день!

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

    {
       "firstName": "Александр",
       "lastName": "Юрьевич",
       "phoneNumbers": "812 123-1234"
     
    }


     

    
    g1:=0;
    while g1<=JS.Count-1 do begin
    
    
    body1:=JS.Pairs[g1].;
    //имя переменной
    
    
    //body2:=JS.GetValue(body1).Value;
    //значение переменной
    
    Synchronize(UpdateVariable);
    //передаем body1, body2 в тело функции
    
    inc(g1);
    end;

     

  9. Помогите!

    В Delphi 10.1  в проекте firemonkey пропало событие onDblClick в StringGrid, мне нужно что бы приложение в windows при двойном щелчке мышкой обработать событие. Дело в том что приложение под windows завязано особо с приложением под телефон и я не могу писать в VCL под windows

    • Secure determines whether the connection to the service should be secure (True), using device authentication and encrypted communication, or if the connection does not need to be secure (False). Data transmission is faster using unsecure connections.

    http://docwiki.embarcadero.com/Libraries/Seattle/en/System.Bluetooth.TBluetoothDevice.CreateClientSocket

     

    но пока не ясно если даже ставлю секьюрити  = не работает

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