Всім привіт. Вчуся працювати з ini-файлами на Android. І відразу ж виникла проблема, яку ніяк не можу вирішити. Хотів написати подобу додаток-тест зі зберіганням даних в ini файлі. У підсумку все відмінно працює на windows, а під Андроїд при запуску висить тільки значок firemonkey секунд 10 і додаток вирубується так і не запустили. В чому може бути проблема? Використовую налагодження по USB.
TIniFile * Ini = new TIniFile (System :: Ioutils :: TPath :: GetDocumentsPath () + PathDelim + "options.ini"); Юзаю ці бібліотеки
#include
Доброго вам дня!
Вирішую наступне завдання, в додатку динамічно формуються різні об'єкти, спадкоємці від одного класу. При формуванні об'єктів заповнюється динамічний масив цих елементів. Далі я хочу в окремому потоці для кожного з елементів масиву отримати його стан, тобто роблю запит до сервера. Все це повішено на таймер, кожну секунду повинен відпрацьовуватися запит. Все більш менш працює в Windows, а на Андроїд з часом додаток валиться. Ось код таймера, для читання я видалив шматки з різними варіантами E. RootElements - це масив TEssense від якого є спадкоємці. Функції GetBoardCurrentValue, GetBoardMaxValue - по суті запити до сервера.
Підкажіть, чи правильно я оформляю роботу з потоками для роботи на Андроїд?
procedure TForm1.MasterTimerTimer (Sender: TObject); begin TTask.Run (procedure var l, d, a: byte; i, j: integer; E: TEssence; p: Pointer; VirtualNode: IXMLNode; VirtualElementNode: IXMLNode; id: byte; begin l: = Length (Form1.RoomElements ); for j: = 0 to l - 1 do begin E: = Form1.RoomElements [j]; // Реле if E is TRele then begin d: = (E as TRele) .Device_ID; a: = (E as TRele ) .Device_Adress; if Form1.GetBoardCurrentValue (d, a) = true then begin TThread.Synchronize (nil, procedure begin (E as TRele) .ReleSwitch.IsChecked: = Form1.device [d] .Board [a] .CurrentValue. ToBoolean; end); end; // (E as TRele) .ReleOnTimer (E) end // Діммер else if E is TDimmer then begin d: = (E as TDimmer) .Device_ID; a: = (E as TDimmer). Device_Adress; if Form1.GetBoardMaxValue (d, a) = true then begin TThread.Synchronize (nil, procedure begin if (Form1.device [d] .Board [a] .Type_ID = TType.Светодіод) or (Form1.device [d ] .Board [a] .Type_ID = TType.Діммер220) then begin (E as TDimmer) .DimmerValue.Text: = (Form1.device [d] .Board [a] .MaxValue) .ToString; end; en d); end; // (E as TDimmer) .DimmerOnTimer (E) end // Таймер else if E is TSTimer then begin id: = (E as TSTimer) .STimerIndex; Form1.FillHTTPRequest (0, 0, HTTP_GET_TIMER_INFO, id); if Form1.AnswerIsComming = HTTP_GET_TIMER_INFO then begin TThread.Synchronize (nil, procedure begin if Form1.HTTPAnswer.Data1 = 0 then (E as TSTimer) .Interval.Text: = 'OFF' else (E as TSTimer) .Interval.Text: = 'ON' end); end; // (E as TSTimer) .STimerOnTimer (E); end; end; end); end;
Зіткнувся з наступною проблемою - TImage ігнорує встановлені значення XRadius і YRadius у TRectangle (10.1 Berlin with update 2)
Суть - мені необхідно, щоб у TRectangle кути були трохи округлені, для цього я встановлюю XRadius і YRadius. Усередині TRectangle розташований TImage (лівий верхній кут 0,0, ширина і висота збігаються з розмірами TRectangle). Коли я завантажую картинку в TImage (що в дизайнера, що програмно), виходить що TImage відображається з прямими кутами, ігноруючи XRadius і YRadius свого батька. Властивість ClipChildren у TRectangle встановлений.
Як зробити так, щоб TImage скругляются по кутах? Що цікаво, TCircle в цьому плані працює, обрізаючи TImage.
Доброго вам дня. Є android додаток, в ньому є діалогове вікно, яке пропонує перейти в google play і завантажити інший додаток (pro версію), з 2 кнопками (так / ні). Як реалізувати цей перехід в Google play, щоб в ньому відразу було завантажено потрібний додаток. Використовую Delphi XE7
Доброго дня. Хто знає, підкажіть, чи можна засобами firemonkey міняти іконку програми в рантайм або після закриття і повторного відкриття програми? На win начебто можна, статті на форумі знаходив, а для Андроїда знайти не вдалося.
Нещодавно Компільо додаток на Delphi FMX Android при зверненні до сервера https при виконанні Get запиту від компонента TIdHttp запросив бібліотеку "Could not load SSL library" використовується протокол sslvTLSv1_2 в windows все оре в андроїд немає. накопав що можна підключити бібліотеки libssl.so і libcrypto.so через deployment .assets \ internal. А ось як в коді далі їх використовувати ніхто прімерчік не виклав, хоч і обговорювали на інтернет просторах 100 раз, ті як прикрутити до IdSSLIOHandlerSocketOpenSSL1.SSLOptions.CertFile. Якщо є у кого код викладіть будь ласка? або скинте по email [email protected]
IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Method.sslvTLSv1_2;
IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Mode.sslmUnassigned;
Добрий день друзі. Підкажіть, чи є можливість у firemonkey відкрити форму як представлено на зображенні нижче? Якщо так, то підкажіть в який бік копати. Дякуємо.
Коли ми на Андроїд пристрої клавішею переходимо в TaskManager (Менеджер запущених додатків), ми бачимо наші Недавні або Запущені програми у вигляді прямокутників / квадратів.
А саме: квадратний "скріншот" місткості додатки і над "скріншотом додатки" розміщується TopBar, на якому відображається деяка інформація (ярлик, назва програми та колір, якого читають з додатка, а саме colorPrimary додатки).
У моєму додатку, незалежно від colorPrimary / colorPrimaryDark, TopBar має чорний колір.
Чи можна це якось змінити?
Embarcadero RAD 10.2 Tokyo, Delphi.
(Використовую модуль, який забарвлює навіть StatusBar)
Нижче прикріплені зображення для ознайомлення з термінами.
Зараз на сторінці 0 користувачів
Немає користувачів, які переглядають цю сторінку