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

delcpy

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

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

  • Посещение

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

  1. В 05.11.2022 в 20:00, UFO 007 сказал:

    в тексте - между Const и var (глобальными). Я так понимаю речь идёт о примере "h:\Documents_Plextor\Embarcadero\Studio\Projects\Bluetooth\Classic Bluetooth Basic app". 
     

    мешает строка где-то (после моего шаманства) 438 в методе TServerConnectionTH.Execute  
     

    //      FSocket := nil;

    постольку-поскольку в Делфи соображаю НЕ фундаментально допиливать пришлось не мытьём, так катаньем... Но заработало: и отправляет, и принимает... А принимает как-то странновато:
    Screenshot_20221104_222949_com.embarcadero.ClBluetooth.thumb.jpg.3959b6d3b7f37adcedc0a9cd3263475e.jpg

    монитор сериал-порта в Ардуино ИДЕ строку отправляет вродь как целиком, а сюда попадает вот в таком вот "порванном" виде, при чём Самс А52 может принять как 123+456789... Так где же собака "порылась"?

    Заранее благодарен
     

     

     

    В 23.11.2022 в 23:09, UFO 007 сказал:

    Гм... Не понял: что - пора есть пирожки по усопшему языку программирования?

    Сделайте задержку в скетче на секунду (delay(1000)), что бы ваш текст успел собраться из потока в одно целое. Блютуз делает постоянный обмен с подключением к устройству через микросекунды из-за чего одна часть в одно время падает, а друга в другое и по этому идет 2 строками.  

  2. Проблема в подключении драйверов баз данных. На windows все работает а вот на android выходит ошибка. Если у кого есть решения данной проблемы напишите.

  3. Обновил Delphi с 11 до 12 версии и по многим проектам при компиляции на Android появилась много ошибок их прикладываю ниже.

    Объекты горят куда писать о этих ошибках?!?!?!

    В 11 версии все работало как швейцарские часы

    После установки 12 версии сделал следующие 

    1. Clean;

    2. Revert System Files to Default;

    3. Artwork Generator.

     

    [DCC Error] E2597 c:\\program files (x86)\\embarcadero\\studio\\23.0\\lib\\Android\\Release/libibtogo.a(eng_init.o):eng_init.c:function engine_unlocked_init: error: undefined reference to '__sync_fetch_and_add_4'
      c:\\program files (x86)\\embarcadero\\studio\\23.0\\lib\\Android\\Release/libibtogo.a(eng_init.o):eng_init.c:function ENGINE_init: error: undefined reference to '__sync_fetch_and_add_4'
      c:\\program files (x86)\\embarcadero\\studio\\23.0\\lib\\Android\\Release/libibtogo.a(eng_lib.o):eng_lib.c:function ENGINE_new: error: undefined reference to '__atomic_store'
      c:\\program files (x86)\\embarcadero\\studio\\23.0\\lib\\Android\\Release/libibtogo.a(eng_lib.o):eng_lib.c:function engine_free_util: error: undefined reference to '__atomic_fetch_sub_4'
      c:\\program files (x86)\\embarcadero\\studio\\23.0\\lib\\Android\\Release/libibtogo.a(eng_lib.o):eng_lib.c:function engine_free_util: error: undefined reference to '__sync_fetch_and_sub_4'
      c:\\program files (x86)\\embarcadero\\studio\\23.0\\lib\\Android\\Release/libibtogo.a(eng_lib.o):eng_lib.c:function engine_free_util: error: undefined reference to '__sync_synchronize'
      c:\\program files (x86)\\embarcadero\\studio\\23.0\\lib\\Android\\Release/libibtogo.a(eng_list.o):eng_list.c:function ENGINE_get_first: error: undefined reference to '__sync_fetch_and_add_4'
      c:\\program files (x86)\\embarcadero\\studio\\23.0\\lib\\Android\\Release/libibtogo.a(eng_list.o):eng_list.c:function ENGINE_get_last: error: undefined reference to '__sync_fetch_and_add_4'
      c:\\program files (x86)\\embarcadero\\studio\\23.0\\lib\\Android\\Release/libibtogo.a(eng_list.o):eng_list.c:function ENGINE_up_ref: error: undefined reference to '__atomic_fetch_add_4'
      c:\\program files (x86)\\embarcadero\\studio\\23.0\\lib\\Android\\Release/libibtogo.a(threads_pthread.o):threads_pthread.c:function CRYPTO_atomic_add: error: undefined reference to '__atomic_is_lock_free'
      c:\\program files (x86)\\embarcadero\\studio\\23.0\\lib\\Android\\Release/libibtogo.a(threads_pthread.o):threads_pthread.c:function CRYPTO_atomic_add: error: undefined reference to '__atomic_fetch_add_4'
      c:\\program files (x86)\\embarcadero\\studio\\23.0\\lib\\Android\\Release/libibtogo.a(bio_lib.o):bio_lib.c:function BIO_new: error: undefined reference to '__atomic_store'
      c:\\program files (x86)\\embarcadero\\studio\\23.0\\lib\\Android\\Release/libibtogo.a(bio_lib.o):bio_lib.c:function BIO_free: error: undefined reference to '__atomic_fetch_sub_4'
      c:\\program files (x86)\\embarcadero\\studio\\23.0\\lib\\Android\\Release/libibtogo.a(bio_lib.o):bio_lib.c:function BIO_free: error: undefined reference to '__sync_synchronize'
      c:\\program files (x86)\\embarcadero\\studio\\23.0\\lib\\Android\\Release/libibtogo.a(bio_lib.o):bio_lib.c:function BIO_up_ref: error: undefined reference to '__atomic_fetch_add_4'
      c:\\program files (x86)\\embarcadero\\studio\\23.0\\lib\\Android\\Release/libibtogo.a(bio_lib.o):bio_lib.c:function BIO_free_all: error: undefined reference to '__atomic_load'
      c:\\program files (x86)\\embarcadero\\studio\\23.0\\lib\\Android\\Release/libibtogo.a(bio_lib.o):bio_lib.c:function BIO_dup_chain: error: undefined reference to '__atomic_load'
      c:\\program files (x86)\\embarcadero\\studio\\23.0\\lib\\Android\\Release/libibtogo.a(bio_meth.o):bio_meth.c:function BIO_get_new_index: error: undefined reference to '__atomic_fetch_add_4'
      c:\\program files (x86)\\embarcadero\\studio\\23.0\\lib\\Android\\Release/libibtogo.a(dh_lib.o):dh_lib.c:function DH_new_method: error: undefined reference to '__atomic_store'
      c:\\program files (x86)\\embarcadero\\studio\\23.0\\lib\\Android\\Release/libibtogo.a(dh_lib.o):dh_lib.c:function DH_free: error: undefined reference to '__atomic_fetch_sub_4'
      c:\\program files (x86)\\embarcadero\\studio\\23.0\\lib\\Android\\Release/libibtogo.a(dh_lib.o):dh_lib.c:function DH_free: error: undefined reference to '__sync_synchronize'
      c:\\program files (x86)\\embarcadero\\studio\\23.0\\lib\\Android\\Release/libibtogo.a(dsa_lib.o):dsa_lib.c:function DSA_new_method: error: undefined reference to '__atomic_store'
      c:\\program files (x86)\\embarcadero\\studio\\23.0\\lib\\Android\\Release/libibtogo.a(dsa_lib.o):dsa_lib.c:function DSA_free: error: undefined reference to '__atomic_fetch_sub_4'
      c:\\program files (x86)\\embarcadero\\studio\\23.0\\lib\\Android\\Release/libibtogo.a(dsa_lib.o):dsa_lib.c:function DSA_free: error: undefined reference to '__sync_synchronize'
      c:\\program files (x86)\\embarcadero\\studio\\23.0\\lib\\Android\\Release/libibtogo.a(eng_ctrl.o):eng_ctrl.c:function ENGINE_ctrl: error: undefined reference to '__atomic_load'
    [DCC Fatal Error] F2588 Linker error code: 1 ($00000001)

  4. Всем привет. Решил первый раз использовать Bluetooth1. При прочтении документации, статей и видео так и не понял почему на Android не работает, в чем причина? Проверил на 7 разных телефонах. Из всего понял, что для обнаружения устройство достаточно лишь кода который прикладываю. почему не находит устройство? Где мой косяк?

    unit Unit1;

    interface

    uses
      System.SysUtils, System.Types, System.UITypes, System.Classes,
      System.Variants,
      FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,
      System.Bluetooth, FMX.StdCtrls, FMX.Controls.Presentation, FMX.Edit,
      System.Bluetooth.Components, FMX.Memo.Types, FMX.ScrollBox, FMX.Memo,
      FMX.Layouts, FMX.ListBox;

    type
      TForm1 = class(TForm)
        Button1: TButton;
        ListBox: TListBox;
        Bluetooth: TBluetooth;
        procedure Button1Click(Sender: TObject);
        procedure BluetoothDiscoveryEnd(const Sender: TObject;
          const ADeviceList: TBluetoothDeviceList);
      private
        { Private declarations }
      public
        { Public declarations }
      end;

    var
      Form1: TForm1;

    implementation

    {$R *.fmx}

    procedure TForm1.BluetoothDiscoveryEnd(const Sender: TObject;
      const ADeviceList: TBluetoothDeviceList);
    var
      i: integer;
    begin
      ListBox.Items.Clear;
      for i := 0 to ADeviceList.Count - 1 do
        ListBox.Items.Add(ADeviceList[i].DeviceName);
    end;

    procedure TForm1.Button1Click(Sender: TObject);
    begin
      Bluetooth.Enabled := True;
      Bluetooth.DiscoverDevices(5000);
    end;

    end.

      

    1.png

    2.png

    3.png

    4.png

  5. Купил себе Mac на камне Intel i7 и не могу запустить симулятор IOS, выдает следующую ошибку:

    Cannot create file "\\?\UNC\Mac\Home\Documents\Embarcadero\Studio\SDKs\iPhoneSimulator16.4.sdk\usr\include\c++\v1\__string". Отказано в доступе

    Нашел вот эту статью https://docwiki.embarcadero.com/RADStudio//Alexandria/en/Running_Your_iOS_Application_on_the_iOS_Simulator
    Я так понимаю что симулятор на Delphi работает только на процессорах ARM или я что то не так делаю?

    Приложения под maсOS Ventura 13.5 запускаются на ура, а на iPhoneSimulator не хочет. 

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

     

    Где про это можно почитать и что делать?

    Снимок экрана 2023-08-13 192834.png

  6. Всем привет. На днях приуныла винда и теперь не могу установить лицензию. Техническая поддержка отписывается якобы нужно написать на почту renewals@idera.com но от туда не приходит ответ. Звонил на номер тех. поддержки России там всё молчит. Как ещё можно продлить лицензию или переустановить.

  7. В 26.09.2018 в 17:39, fidel42rus сказал:

    В моем случае с сервера приходят заголовок сообщения. текст и url. 

    вывожу сообщения таким способом:

    var
      MyNotification: TNotification;
    begin
     MyNotification := NotificationCenter1.CreateNotification;
      try
          MyNotification.Name :=fl[1];
          MyNotification.AlertBody := fl[0];
          MyNotification.FireDate := Now;
          // Send notification to the notification center
          NotificationCenter1.ScheduleNotification(MyNotification);
        finally
          MyNotification.Free;
        end;

    подскажите пожалуйста как прописать чтобы при нажатии именно на это сообщение был переход по заданному url, то есть сначала открывалось приложение а потом переадресовывалось в бразуер на заданный url. при условии что URL у меня в масииве fl[2];

     

     

    для android

     

  8. 18 часов назад, Tumaso сказал:

    В MyNotification.FireDate ты указал только время, а дату нет. Например попробуй Trunc(Now) + EncodeTime(MyHour, MyMin, 0, 0)
    И да, убери MyNotification.Free

    Не помогло. Мне нужно что бы приложение каждый день в назначенное время показывало уведомление. Ищу решение.

  9. По внесению изменений времени в TimeEdit не запускается в назначенное время уведомление. Подскажите в чем косяк. 

    procedure TfrmMain.teNotificationChange(Sender: TObject);

    var
      MyNotification: TNotification;
      MyHour, MyMin, MySec, MyMilli: Word;
    begin
      // Setup notification
      DecodeTime(teNotification.Time, MyHour, MyMin, MySec, MyMilli);
      MyNotification := NotificationCenter.CreateNotification;
      try
        // MyNotification.Number := 1;
        MyNotification.Name := 'AlerNotification';
        MyNotification.Title := 'Выйте из приложения!!!';
        MyNotification.AlertBody := 'Начинается копирование базы данных';
        MyNotification.EnableSound := True;
        MyNotification.FireDate := EncodeTime(MyHour, MyMin, 0, 0);
        NotificationCenter.ScheduleNotification(MyNotification);
        MyNotification.Free;
      finally
        MyNotification.DisposeOf;
      end;

  10. Сам накосячил. Уже разобрался.

     

    var
      tMyFile: TextFile;
      sFileName: string;
      sMyString: string;

    sFileName := Tpath.GetDocumentsPath + PathDelim + 'ip.txt';
    AssignFile(tMyFile, sFileName);
    Rewrite(tMyFile);
    Writeln(tMyFile, sMyString);
    Readln(tMyFile, sMyString);
    CloseFile(tMyFile);

    edtIP.Text:=sMyString ;

  11. Приложение для android 

    i/o error 104 

    Данная ошибка появляется если добавить read или readlen

     

    В Deployment добавил в .\assets\internal

    USES System.IOUtils;

    var
      tMyFile: TextFile;
      sFileName: string;
      sMyString: string;

     

    procedure TfrmMain.Button1Click(Sender: TObject);
    begin
      sFileName := Tpath.GetDocumentsPath + PathDelim + 'ip.txt';
      sMyString := edtIP.Text;
      AssignFile(tMyFile, sFileName);
      Rewrite(tMyFile);
      Writeln(tMyFile, sMyString);
      Readln(tMyFile, sMyString);
      CloseFile(tMyFile);
    end;

  12. 23 минут назад, Android сказал:

    Интересное мнение

    Возможно я ошибаюсь за неимением большого опыта, но если вTabControl делать больше табов то вес программы становится 110, а за счет фреймов уменьшается до 84. Если есть другое решение то подскажите.

  13. Платформа Android

    У программы на главной форме установлен TabControl из двух табов и TGestureManager и TActionList. В один из табов загружаются разные Frames (фреймы) по ситуации у которых в свою очередь тоже есть TabControl из пяти табов. Фреймы видят первую форму, на которой установлен TGestureManager и TActionList их тоже видно. Все везде завязано и перевязано, но не работает жестs листание в право или в лево, когда происходит загрузка фреймов. В чем причина?

    Если делать без фреймов все работает. Ну фреймы мне очень нужны дабы облегчить вес программы.

    Я так понимаю почему то отключаются события в TActionList если выбрать путь в фрейму.

    test.zip

  14. Я думаю примерно вот так будет.

    uses 

    System.IOUtils;

    procedure TMyForm.sbPlayClick(Sender: TObject);
    begin
      MediaPlayer.FileName:= TPath.GetDocumentsPath + PathDelim +'grouse_boy.mp3';
      MediaPlayer.Play; 
      tbRjabhucMusicTrek.Max := MediaPlayer.Duration;
    end;

    procedure TMyForm.sbStopClick(Sender: TObject);
    begin
      MediaPlayer.Stop; 
      MediaPlayer.CurrentTime := 0; 
    end;

    procedure TMyForm.Timer1Timer(Sender: TObject);
    begin
      tbRjabhucMusicTrek.Value := MediaPlayer.CurrentTime;
    end;

     

    287285863_.thumb.png.f2c734020e4f1e9a27fec41856a341c3.png

  15. Всем привет. Подскажите что делаю не так. Выходит ошибка Invalid class typecast.

    1864027703_.png.d2047ff68406c832e3e53cd9645523e7.png

    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.Objects,
      FMX.Controls.Presentation, FMX.StdCtrls;

    type
      TForm1 = class(TForm)
        Switch: TSwitch;
        Rectangle: TRectangle;
        Selection: TSelection;
        procedure SwitchSwitch(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;

    var
      Form1: TForm1;

    implementation

    {$R *.fmx}

    procedure TForm1.SwitchSwitch(Sender: TObject);
    begin
      { (Sender as TSelection).HideSelection := not(Sender as TSelection).HideSelection;
        (Sender as TSelection).HitTest := not(Sender as TSelection).HitTest;
        (Sender as TRectangle).HitTest := not(Sender as TRectangle).HitTest; }

      if Switch.IsChecked = true then
      begin
        (Sender as TSelection).HideSelection := false;
        (Sender as TSelection).HitTest := true;
        (Sender as TRectangle).HitTest := false;
      end
      else
      begin
        (Sender as TSelection).HideSelection := true;
        (Sender as TSelection).HitTest := false;
        (Sender as TRectangle).HitTest := true;
      end;
    end;

    end.

     

    Новая папка.zip

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