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

gonzales

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

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

  • Посещение

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

    27

Активность репутации

  1. Like
    gonzales отреагировална Slym в DisposeOf не вызывает деструктор (сам нашел причину, но решил написать)   
    вызывается виртуальный метод TObject.Destroy; виртуальный здесь ключевое! виртуальные методы хранятся в спецтабличке 
    Вы же разместили свой деструктор вне этой таблицы сделав его статичным.
    статичным он стал потому что нет правильного модификатора, по факту Вы написали destructor Destroy;пусто;
    модификатор overload - это из оперы несколько методов с одним названием.
    Destroy вызывается у всех типов в цепочке наследования кроме вашего типа, для вашего типа виртуальный Destroy не определен
  2. Like
    gonzales получил реакцию от Astin Wolfone в поломались ПУШи в 10.4   
    Нашел причину,
    В недрах класса TPushService
    TPushService = class abstract public type TPropPair = TPair<string, string>; TPropArray = TArray<TPropPair>; // commonly used names TServiceNames = record public const GCM = 'gcm'; // deprecated 'Is not available anymore. Please use FCM instead'; // Google cloud messaging FCM = 'fcm'; // Google Firebase cloud messaging APS = 'aps'; // Apple end; Соответственно нужно исправить
    FPushService := TPushServiceManager.Instance.GetServiceByName(TPushService.TServiceNames.GCM);
    на
    FPushService := TPushServiceManager.Instance.GetServiceByName(TPushService.TServiceNames.FCM);
     
    Все работает
  3. Like
    gonzales получил реакцию от Roma77751 в поломались ПУШи в 10.4   
    Нашел причину,
    В недрах класса TPushService
    TPushService = class abstract public type TPropPair = TPair<string, string>; TPropArray = TArray<TPropPair>; // commonly used names TServiceNames = record public const GCM = 'gcm'; // deprecated 'Is not available anymore. Please use FCM instead'; // Google cloud messaging FCM = 'fcm'; // Google Firebase cloud messaging APS = 'aps'; // Apple end; Соответственно нужно исправить
    FPushService := TPushServiceManager.Instance.GetServiceByName(TPushService.TServiceNames.GCM);
    на
    FPushService := TPushServiceManager.Instance.GetServiceByName(TPushService.TServiceNames.FCM);
     
    Все работает
  4. Like
    gonzales получил реакцию от Ingalime в Сортировка TListViewItems   
    если бы все было так просто...
    в моем случае TEssense - это родительский класс для других компонентов, сортировать на этапе создания - означало бы иметь кучу вложенных циклов, не уверен, что это было бы шустро.
    А ларчик просто открывался, по недогляду забыл про Result:=0;
    Вот рабочий код
    procedure TForm1.SortGroup; begin Form1.RoomsScrollBox.sort( function(LeftItm, RightItm: TFmxObject): integer begin Result := 0; if TEssence(LeftItm).SortIndex > TEssence(RightItm).SortIndex then Result := 1 else if TEssence(LeftItm).SortIndex < TEssence(RightItm).SortIndex then Result := -1; end); end; Не забываем про BeginUpdate, EndUpdate
  5. Thanks
    gonzales получил реакцию от Ingalime в Рабочая комбинация программ для публикации в AppStore   
    Да, сработало. По крайней мере приложение скомпилилось старым XCode (10.1) с подменой SDK на версию 13.5
    Техника секса:
    1. Скачиваем свежий XCode по прямой ссылке https://developer.apple.com/download/more/ 
    2. Разархивируем скаченный архив
    3. XCode конечно не открывается, кликаем правой кнопкой, выбираем пункт "показать содержимое пакета"
    4. Идем по пути Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs, видим там папку и ярлык на SDK.
    5. Копируем эту папку и ярлык в тот же каталог рабочей версии XCode.
    6. Запускаем XCode
    7. В Делфи запускаем SDK Manager. Добавляем новый SDK для iOS, видим, что система предлагает уже измененную версию (у меня 13.5), скачиваем ее, устанавливаем SDK
    8. Проверяем компиляцию проекта
  6. Like
    gonzales получил реакцию от Ingalime в Рабочая комбинация программ для публикации в AppStore   
    да, по всей видимости это беда.
    надо будет попробовать подменить в пакете XCode SDK
  7. Like
    gonzales получил реакцию от Ingalime в Рабочая комбинация программ для публикации в AppStore   
    Очередной update.
    Обновился iphone до версии 13.5, соответственно XCode говорит что нет у него DeviceSupport файлов, соответственно Делфа не может запустить проект на телефоне, нет отладки и все такое. При попытке скачать новый XCode АппСтор говорит, хрен тебе, обнови-ка сначала MacOS до версии 10.15. Но при попытке обновить МакОсь вылезает ошибка, что мол на твою железку 10.15 поставить нельзя. И все, никаких вариантов решения не предлагается. Очередной танец с бубном привел к следующему решению такой проблемы
    1. Скачиваем свежий XCode по прямой ссылке https://developer.apple.com/download/more/ 
    2. Разархивируем скаченный архив
    3. XCode конечно не открывается, кликаем правой кнопкой, выбираем пункт "показать содержимое пакета"
    4. Идем по пути Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport, видим там папки со всеми версиями платформ.
    5. Копируем нужные версии в тот же каталог рабочей версии XCode.
    6. Запускаем XCode, подключаем телефон, убеждаемся, что XCode больше не ругается.
    7. Скаченный XCode можно удалить
     
    На данный момент опробовано для Delphi 10.3.3, XCode 10.1. Скачивал XCode версии 11.5. 
     
  8. Like
    gonzales получил реакцию от Ingalime в потоки в ios   
    Переделал вот так
    procedure TForm5.Button16Click(Sender: TObject); begin TTask.Run( procedure begin //действия end); end; и заработало. Странно, я всегда думал, что TTask и TThread - это одно и то же.
  9. Thanks
    gonzales отреагировална Slym в multicast udp   
    А в инде все готово...
    procedure TForm1.FormCreate(Sender: TObject); begin   IdUDPServer1.ReuseSocket:=TIdReuseSocket.rsTrue;   IdUDPServer1.DefaultPort:=9898;   IdUDPServer1.Active:=true; end; procedure TForm1.IdUDPServer1AfterBind(Sender: TObject); begin   IdUDPServer1.Bindings[0].AddMulticastMembership('224.0.0.50'); end;  
  10. Like
    gonzales отреагировална Slym в multicast udp   
    https://habr.com/ru/post/141021/
    ключевой момент "Подключение к группе"
  11. Like
    gonzales отреагировална Владимир Б. в TMemo для вывода лога тормозит   
    Подготовил за пол часа реализацию с цветом и стилем строки.
    Правда поменял форматирование кода под то которое мне удобней и понятней.

    FastMemo.zip
     
  12. Like
    gonzales отреагировална Barbanel в Запуск компилированного приложения.   
    Скорее всего увас в конфиге IDE прописан флаг WAIT_2_SECONDS_BEFORE_FMX_STARTS. Уберите его - и проблема исчезнет.
  13. Like
    gonzales получил реакцию от Anatoliy в Пуши в IOS   
    Так а в чем конкретно проблема?
    В коде есть OnReceiveNotificationEvent - вызывается когда придет пуш. Соответственно вместо ShowMessage(aText); пишите вызов новой формы. Если она уже создана, то просто FormB.visible:=true;, если не создана, то вызов конструктора, (примерно так FormB:=TForm.Create;, соответственно конструктор должен быть описан) 
  14. Like
    gonzales получил реакцию от Yarpda в переход к x64?   
    Вот моя переписка. Прислали вот такое письмо с вопросами
    Hello Alexey, Thanks for contacting Google Play Developer Support. Apologies for the delayed response. I understand you would like an extension to become 64-bit compliant. In order to submit your request, can you please provide the following: Reason for not being able to be compliant in time (if there’s a dependency on third party tools, please specify it) Reason for your request and your plan for migration Specific plan on how you will become compliant, with an estimation date for building 64-bit support that you can commit (For example: The app will be compliant 2 weeks after Embarcadero is compliant.) I look forward to your reply and assisting you further. Regards, Liz Google Play Developer Support я ответил так
    Hello Liz! Thank you for your letter. In answer to your questions, i provide that as soon as Embarcadero will make a 64x-compiler for Android, i will use it and make a compatible application. I hope, that it won't take long, i dont use any third party tools, only Embarcadero RAD Studio. I'm disappointed, that Embarcadero do not release a new version in time, like they still don't announce it. Also to this I want to ask, if i need to update my application in Google Play Market, i need to reques this extension every time, or only onсe? My application is made for users of our smart home system, and I'm very worried, that our new customers can't download it from Play Market, so I hope for a positive decision of my request!  
  15. Like
    gonzales получил реакцию от Ingalime в переход к x64?   
    Вот моя переписка. Прислали вот такое письмо с вопросами
    Hello Alexey, Thanks for contacting Google Play Developer Support. Apologies for the delayed response. I understand you would like an extension to become 64-bit compliant. In order to submit your request, can you please provide the following: Reason for not being able to be compliant in time (if there’s a dependency on third party tools, please specify it) Reason for your request and your plan for migration Specific plan on how you will become compliant, with an estimation date for building 64-bit support that you can commit (For example: The app will be compliant 2 weeks after Embarcadero is compliant.) I look forward to your reply and assisting you further. Regards, Liz Google Play Developer Support я ответил так
    Hello Liz! Thank you for your letter. In answer to your questions, i provide that as soon as Embarcadero will make a 64x-compiler for Android, i will use it and make a compatible application. I hope, that it won't take long, i dont use any third party tools, only Embarcadero RAD Studio. I'm disappointed, that Embarcadero do not release a new version in time, like they still don't announce it. Also to this I want to ask, if i need to update my application in Google Play Market, i need to reques this extension every time, or only onсe? My application is made for users of our smart home system, and I'm very worried, that our new customers can't download it from Play Market, so I hope for a positive decision of my request!  
  16. Like
    gonzales получил реакцию от Barbanel в переход к x64?   
    Вот моя переписка. Прислали вот такое письмо с вопросами
    Hello Alexey, Thanks for contacting Google Play Developer Support. Apologies for the delayed response. I understand you would like an extension to become 64-bit compliant. In order to submit your request, can you please provide the following: Reason for not being able to be compliant in time (if there’s a dependency on third party tools, please specify it) Reason for your request and your plan for migration Specific plan on how you will become compliant, with an estimation date for building 64-bit support that you can commit (For example: The app will be compliant 2 weeks after Embarcadero is compliant.) I look forward to your reply and assisting you further. Regards, Liz Google Play Developer Support я ответил так
    Hello Liz! Thank you for your letter. In answer to your questions, i provide that as soon as Embarcadero will make a 64x-compiler for Android, i will use it and make a compatible application. I hope, that it won't take long, i dont use any third party tools, only Embarcadero RAD Studio. I'm disappointed, that Embarcadero do not release a new version in time, like they still don't announce it. Also to this I want to ask, if i need to update my application in Google Play Market, i need to reques this extension every time, or only onсe? My application is made for users of our smart home system, and I'm very worried, that our new customers can't download it from Play Market, so I hope for a positive decision of my request!  
  17. Like
    gonzales получил реакцию от Barbanel в Элементы стиля на Андроид   
    И вот настало долгожданное попозже))). Сорри, как-то проглядел вопрос. Я думал, что поменяв в рантайме сами элементы стиля мне не придется возиться с каждым объектом, который создается в рантайме. По сути хотел реализовать что-то типа смены цветовой схемы, например перед созданием объектов прохожу по используемым элементам стиля и меняю везде цвет на определенный. Далее создаю объекты, применяю к ним стиль и вуаля - цвет везде изменен на новый.
  18. Like
    gonzales получил реакцию от Ingalime в переход к x64?   
    Одобрили приложение до 1-го августа 2020г. Надеюсь к тому времени и компилятор допилят))) 
  19. Like
    gonzales отреагировална Maka в переход к x64?   
    Отвечают долго, 10-14 дней, а потом еще около 7 дней переписка, проверки и ожидание решения. Наберитесь терпения
  20. Like
    gonzales получил реакцию от Barbanel в [Delphi Berlin FMX Win32] Как реализовать Drag and Drop у StringGrid?   
    Отвечу сам себе. Проблема решена.
    Всего два дня поисков и вот он, случай - краеугольный камень поиска ошибок! Меня аж забомбило, когда я это откопал. Оказалось, что мой грид лежит на лайоуте, у которого hittest = false. Так вот до тех пор, пока я не перевел его в true грид отказывался принимать ondragover. Но как только layout.hittest:=true все заработало. Дальше дело техники.
  21. Like
    gonzales получил реакцию от Евгений Корепов в [Delphi Berlin FMX Win32] Как реализовать Drag and Drop у StringGrid?   
    Отвечу сам себе. Проблема решена.
    Всего два дня поисков и вот он, случай - краеугольный камень поиска ошибок! Меня аж забомбило, когда я это откопал. Оказалось, что мой грид лежит на лайоуте, у которого hittest = false. Так вот до тех пор, пока я не перевел его в true грид отказывался принимать ondragover. Но как только layout.hittest:=true все заработало. Дальше дело техники.
  22. Like
    gonzales получил реакцию от Ingalime в [Delphi Berlin FMX Win32] Как реализовать Drag and Drop у StringGrid?   
    Отвечу сам себе. Проблема решена.
    Всего два дня поисков и вот он, случай - краеугольный камень поиска ошибок! Меня аж забомбило, когда я это откопал. Оказалось, что мой грид лежит на лайоуте, у которого hittest = false. Так вот до тех пор, пока я не перевел его в true грид отказывался принимать ondragover. Но как только layout.hittest:=true все заработало. Дальше дело техники.
  23. Like
    gonzales получил реакцию от qz5 в [Delphi Berlin FMX Win32] Как реализовать Drag and Drop у StringGrid?   
    Отвечу сам себе. Проблема решена.
    Всего два дня поисков и вот он, случай - краеугольный камень поиска ошибок! Меня аж забомбило, когда я это откопал. Оказалось, что мой грид лежит на лайоуте, у которого hittest = false. Так вот до тех пор, пока я не перевел его в true грид отказывался принимать ondragover. Но как только layout.hittest:=true все заработало. Дальше дело техники.
  24. Haha
    gonzales получил реакцию от #WAMACO в Переезд на 10.3 Rio   
    Чего Вы привязались к прогрессбару, это никак не связано с потоками, я просто уточнял, нужно ли обращаться к форме, созданной в потоке через синхронизацию. 
    Прочитайте посты выше, вроде как уже больше недели это обсуждаем.
     
    У вас очень странное представление о UI. Вы правда считаете, что я демонстрирую пользователю одновременно Сплэш, две формы, и повергающий его в экстаз прогрессбар??
  25. Haha
    gonzales получил реакцию от scbeast в Переезд на 10.3 Rio   
    Чего Вы привязались к прогрессбару, это никак не связано с потоками, я просто уточнял, нужно ли обращаться к форме, созданной в потоке через синхронизацию. 
    Прочитайте посты выше, вроде как уже больше недели это обсуждаем.
     
    У вас очень странное представление о UI. Вы правда считаете, что я демонстрирую пользователю одновременно Сплэш, две формы, и повергающий его в экстаз прогрессбар??
×
×
  • Создать...