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

slav_z

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

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

  • Посещение

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

    33

Весь контент slav_z

  1. что будет с объектом A под ARC в этом случае? та же история и с вашими объектами в списке... DisposeListObjects() в моем примере нужен для обеспечения работы на всех платформах... посмотрите как реализована работа с объектами в TStringList (свойство OwnsObjects)... а конкретно посмотрите реализацию метода TStringList.Clear;
  2. вы как свой компонент регистрировали? там же и редактор для своего свойства укажите... (я delphi программист.. но думаю у вас все так же должно быть..)
  3. звучит тревожно.. еще и наследники будут? вот это метка! становится похоже на российский сериал какой-то... оно того стоит?
  4. не советую делать свои компоненты... надо стремиться к тому, что ваш проект должен быть скачан из репозитория и сразу запущен... без дополнительных установок чего-либо... то, что вы хотите сделать с TLabel, точно можно сделать с помощью стилей (прости господи) или фрейма...
  5. не знаю.. ничего не падает.. все работает на windows, android, ios: (скорее всего у вас проблема в DisposeOf и :=nil после этого но этого и не нужно делать)
  6. удаление было в дизайнтайме? попробуйте открыть форму как текст, найти там этот TLabel и удалить его руками... глюк какой-то IDE... и из заголовка формы если он там остался... Label23... при создании форма пытается прочитать его из файла ресурса и не может...
  7. у всех примитивных типов есть хелперы и в них уже реализован метод ToString... поэтому так и пишите Edit1.text:= myComponent.Value.toString НО! как раз для типа Real хелпера нет!!! просто используйте другой вещественный тип (учитывая что type Real = Double)
  8. slav_z

    XSuperObject

    все сторонние библиотеки рано или поздно превращаются в "камень в ботинке"... вопрос только во времени когда это случится... и если написано уже много кода, то переписывание и тестирование заново всего - это очень неприятная ситуация... я бы не стал самому себе на будущее подкладывать такую свинью... только когда стандартными компонентами не обойтись никак.. или время жизни проекта 3-4 года...
  9. а.. вот еще что: THTTPClient сам кодирует строку запроса, без всякой дополнительной фигни... очень хороший объект... реализованный просто замечательно... Client:=THTTPClient.Create; var Response:=Client.Get('http://fire-monkey.ru/topic/6993-закодировать-строку-в-utf8-для-передачи-в-get-запросе/#comment-40498'); if Response.StatusCode=200 then ... Client.Free;
  10. S:=TNetEncoding.URL.EncodeQuery('http://fire-monkey.ru/topic/6993-закодировать-строку-в-utf8'); ...и вам вполне подойдет THTTPClient для любых запросов...
  11. вообще запрос с русскими буквами выглядит примерно так: fire-monkey.ru/topic/6993-%D0%B7%D0%B0%D0%BA%D0%BE%D0%B4%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C-%D1%81%D1%82%D1%80%D0%BE%D0%BA%D1%83-%D0%B2-utf8-%D0%B4%D0%BB%D1%8F-%D0%BF%D0%B5%D1%80%D0%B5%D0%B4%D0%B0%D1%87%D0%B8-%D0%B2-get-%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D0%B5/ Используйте это: uses System.NetEncoding; ... S:=TNetEncoding.URL.EncodePath('http://fire-monkey.ru/topic/6993-закодировать-строку-в-utf8');
  12. uses iOSapi.Foundation, FMX.Helpers.iOS, iOSapi.UIKit, Macapi.CoreFoundation, Macapi.Helpers; procedure OpenURL(const URL: string); var _NSUrl: NSURL; begin _NSUrl:=TNSUrl.Wrap(TNSUrl.OCClass.URLWithString(NSStr(URL))); SharedApplication.openUrl(_NSUrl); end;
  13. посмотрите реализацию Release и сделайте точно так же как там... но с формой не советую... в случае с формой вызывайте Close а на событие OnClose укажите CloseAction = caFree тогда форма разрушится корректно... должна, сам не проверял, но судя по коду в исходниках все должно быть хорошо...
  14. вообще, чтобы получить HICON, достаточно только этого:
  15. ну воще уже понесло не туда... в примере файлы из массива.. там по расширению возвращает... OnePeople правильно уже написал... но! если вы хотите использовать это в FMX надо будет немного потрудиться... надо написать функцию которая из HICON делает FMX.Bitmap
  16. господи, как же я давно не писал ничего на vcl
  17. В вашем случае, если в конце нет разделителя директорий, Download - это имя файла, поэтому используйте System.IOUtils.TPath.GetDirectoryName Попробуйте так же System.IOUtils.TDirectory.GetParent() но оно может модифицировать путь.
  18. считайте что это мое ноухау... так никто еще не делал.. если разобрались как все устроено, я рад за вас...
  19. не ClientToScreen а LocalToScreen... оно есть у фрейма... Пример: LocalToScreen(TPointF.Zero) - левый верхний угол фрейма в координатах экрана, LocalToAbsolute(TPointF.Zero) - левый верхний угол фрейма в координатах формы.
  20. slav_z

    Delphi 10.4

    Исправление ошибок: 10.4 http://docwiki.embarcadero.com/RADStudio/Sydney/en/New_features_and_customer_reported_issues_fixed_in_RAD_Studio_10.4 10.4.1 http://docwiki.embarcadero.com/RADStudio/Sydney/en/New_features_and_customer_reported_issues_fixed_in_RAD_Studio_10.4.1 как вообще работает 10.3.3 ? то, что коснулось меня (ошибки типа "мы их объявили, но ни разу не проверили"? - исправлена константа FIONREAD и др. (macOS x64), - исправлено объявление функции tcsetattr (Linux). но много ошибок осталось без внимания.
  21. у меня sdk реально 29-тое... а не просто target изменил и все...
  22. сейчас просто заменил в AndroidManifest.template.xml строку: <uses-sdk android:minSdkVersion="%minSdkVersion%" android:targetSdkVersion="29" /> теперь в манифесте targetSdkVersion="29"... приложение работает...
×
×
  • Создать...