Jump to content

Search the Community

Showing results for tags 'firemonkey'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Delphi Questions and Answers
    • Algorithms, Data Structures and Class Design
    • VCL
    • FMX
    • RTL and Delphi Object Pascal
    • Databases
    • Network, Cloud and Web
    • Windows API
    • Cross-platform
    • Delphi IDE and APIs
    • General Help
    • Delphi Third-Party
  • C++Builder Questions and Answers
    • General Help
  • General Discussions
    • Embarcadero Lounge
    • Tips / Blogs / Tutorials / Videos
    • Job Opportunities / Coder for Hire
    • I made this
  • Software Development
    • Project Planning and -Management
    • Software Testing and Quality Assurance
  • Community
    • Community Management

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Delphi-Version

Found 34 results

  1. My application, written for iOS, creates caf files and uploads them to the server. My other application, written for Android, would like to play these files, but cannot. Apparently different formats. Android application that creates caf files, successfully plays them The problem is not new: https://stackoverflow.com/questions/34546248/how-to-play-caf-audio-file-on-android-platform-firemonkey But 8 years have passed. I think there are solutions. I wish my Android app could play caf files from iOS.
  2. Tell me, is there an implementation of video selection for iOS? For example, like selecting images by ActionTakePhotoFromLibrary or TOpenDialog.
  3. I have used Delphi 12 for developing Android application and I'm trying to Service which needs to runs in the background to receive the frequent messages from Server using TCP sockets to displays the notifications. But, the service is deactivated / closed after the main process application is closed. Below, the code is mentioned the code to start the service : procedure TForm1.ButtonServiceStartClick(Sender: TObject); var ServiceIntent: JIntent; begin ServiceIntent := TJIntent.Create; ServiceIntent.setClassName(TAndroidHelper.Context, StringToJString('com.embarcadero.services.MyService')); TAndroidHelper.Context.startService(ServiceIntent); end; and also, I have added the following service information in AndroidManifest.template.xml : <service android:enabled="true" android:exported="false" android:label="MyService" android:process=":remote" android:name="com.embarcadero.services.MyService"> </service> Code in Service: function TDM.AndroidServiceStartCommand(const Sender: TObject; const Intent: JIntent; Flags, StartId: Integer): Integer; begin Result := TJService.JavaClass.START_STICKY; end; I have tried to use this Solution, but not able to compile. And tried to implement the Sleep in Android Start command / run the thread, still the android service is getting closed. Do, I need to mentioned the different flag for starting the service or do I need to add additional code to run the service all the time or can we restart the service once it's destroyed and how to handle the code in Destroy event?
  4. Good afternoon! I have a question about push notifications in iOS. Is it possible to handle the click_action event (user clicking on a push notification)? The situation is as follows: I can't properly receive PUSH notifications when the iOS app is open or in the background. I'm interested in three application state scenarios: 1. iOS application is closed. A PUSH notification arrives. When you press PUSH, the application opens and “Some code” is executed. - This script works perfectly! 2. iOS application is open. A PUSH notification arrives and immediately “Certain code” is automatically executed. I wish it would ONLY run when PUSH is pressed! 3. The iOS application is in the background, minimized. A PUSH notification arrives. When you press PUSH, the application is activated, BUT “Some code” is not executed! That is, it all comes down to the PUSH notification click event: Only after clicking on PUSH notifications do I need to execute "Some code" Tell me how to do this or suggest your own scenario.
  5. Hello, I'm trying to create a combobox that I can style to look like this. I'd **LIKE** to do it solely in the WYSIWYG style designer. Can anyone point me to a tutorial on how even to change the font size in the Style designer? I'm admittedly such a noob in this, but I'm at a total loss. Thanks. - Mike
  6. david berneda

    Beep for Firemonkey

    Needed a "Beep" equivalent function for Android, capable of playing a sound at a specific hertz frequency, and ended up porting and adapting a Java snippet. Its freely available, hope it might help: https://github.com/davidberneda/FMX_Tone_Beep regards ! david
  7. BennieC

    Listview Programming

    Good day I am trying to build an application which requires me to display multiple images in groups with selectable sizes. The images consist of a bitmap and a text field. My idea is to put the image groups in a TListview (Which I hope can display horizontally) and then add these listview groups into a TFlowlayout to manage the screen layout. However, I simply do not get it right to create a TListview item programmatically to display the image. I have tried to create a TListItemImage as well as simply adding a TListViewItem but neither worked in that I could see anything on the screen. I am including my test code (Note it pulls images from a folder for testing). The commented out sections will probably indicate some of the experiments that I tried. I will probably also struggle to add the TListviews to the TFlowlayout. Some advice will be much appreciated. The idea is that the application will run on both Android mobile as well as desktops. prjFlowLO.dpr prjFlowLO.dproj uFlowLOMain.fmx uFlowLOMain.pas
  8. Milan Vydareny

    Indy, OpenSSL, DataSnap on Android

    The difficulties when trying to use OpenSSL filters on a DataSnap application with an Android client have numbers of entries in various forums that go back a number of years. To summarize the problem: 1. Create a DataSnap server that specifies a filter of RSA, in my case using Delphi 11 Update 2, running on a Windows server as a service. 2. Create a DataSnap client that is deployed to an Android device, in my case a Samsung SD-9 with an ARM64-v8a instruction set running Android 10 3. The client application crashes because it is unable to load a required OpenSSL module. I have tried a number of solutions that are discussed in various places but nothing works for me. My question is: Does anyone know of a RECENT posting that provides a workable solution to getting an RSA filter to work with DataSnap/Indy/Firemonkey on an Android device? My current understanding that the root cause of the problem is probably the failure of Indy to remain current with Google's erratic development habits, that has deprecated OpenSSL in favor of a branch called Boring. Has this been addressed effectively by anyone? If not, are there any plans to do so? Thanks in advance, Milan
  9. Nicolò Blunda

    Get copyright info from code in macOS

    Hello. With this code (working on macOS) I get application version info: VersionInfoString:= (TNSString.Wrap(CFBundleGetValueForInfoDictionaryKey(CFBundleGetMainBundle, kCFBundleVersionKey))).UTF8String; I want to retreive the copyright info too. In info.plist the copyright string is the NSHumanReadableCopyright key value. It is possible to adapt code above to get it?
  10. Goal: I have configured my app to be opened by some links in iOS, like myapp://lala (using custom scheme), or https://myapp.com/c/lala using universal links, and is already opening my app, but i need to know which url that opened my app. (There is even a tutorial in FMX Express) Problem: I'm trying to handle incoming url from my ios app unsuccessfully. On iOS this should be done by capturing event TApplicationEvent.OpenURL like: procedure TipUrlHandler.ApplicationEventMessageHandler(const ASender: TObject; const AMessage: TMessage); begin case TApplicationEventData(TApplicationEventMessage(AMessage).Value).Event of TApplicationEvent.OpenUrl: HandleUrl(TiOSOpenApplicationContext(TApplicationEventData(TApplicationEventMessage(AMessage).Value).Context).URL); else end; end; Mas o TApplicationEvent.OpenUrl nunca é chamado. So I checked the class TApplicationDelegate in the unit FMX.Platform.iOS.pas in which the TApplicationDelegate.applicationOpenURLWithOptions function should be called every time the app is opened by a url as Apple documents: https://developer.apple.com/documentation/uikit/uiapplicationdelegate/1623112-application?language=objc class function TApplicationDelegate.applicationOpenURLWithOptions(self: id; _cmd: SEL; application: PUIApplication; url: Pointer; options: PNSDictionary): Boolean; So I went to check if the applicationOpenURLWithOptions method is being added correctly in TApplicationDelegate.CreateDelegateMetaClass: class procedure TApplicationDelegate.CreateDelegateMetaClass; begin ... // Opening a URL-Specified Resource if TOSVersion.Major >= 9 then class_addMethod(DelegateClass, sel_getUid('application:openURL:options:'), @applicationOpenURLWithOptions, 'B@:@@@@') else ... end; And then I was able to prove it wrong! The number of arguments declared is wrong, as the correct one should be B@:@@@ Then I made the modification to FMX.Platform.iOS.pas, being as follows: class procedure TApplicationDelegate.CreateDelegateMetaClass; begin ... // Opening a URL-Specified Resource if TOSVersion.Major >= 9 then class_addMethod(DelegateClass, sel_getUid('application:openURL:options:'), @applicationOpenURLWithOptions, 'B@:@@@') else ... end; But the TApplicationDelegate.applicationOpenURLWithOptions function is not yet called. What is wrong? @EDIT Sorry! It is working for custom schemes like "myapp://lala" (with or without the correction in FMX.Platform.iOS.pas) but it is not working for universal links like https://myapp.com/c/lalala. Although I have already configured the universal link correctly and when I click on this universal link, the iOS open my app, but the url can't be handle with TApplicationEvent.OpenUrl, but I discovered that the handling of incoming url of a universal link is different: Handling Universal Links
  11. I am tackling my first Android app (Firemonkey) using RAD Studio. It is supposed to be a mobile version of a Windows VCL app I already did (language: Pascal). It has to access the same client dataset files (.xml) that the Windows app uses, which are stored in a local Windows network share. I have Googled and found all sorts of esoteric references to JCIFS, Samba, etc. I have got as far as installing JCIFS-1.3.19.jar under the Libraries folder in my Android Target node in Project Manager. So how do I actually use this in my app? Thanks in advance for any help you can give me
  12. jptf59

    FMX Groupbox run-time display issue

    Hello, I am not an expert with FireMonkey and I am at a loss how to solve this problem : Config : Windows 10 - Win 32 platform - RAD STUDIO 10.4.2 Delphi ( Sydney) I use a few GroupBoxes that display nicefully in the EDI , like this : On the contrary at Run time they all show like this, that is with the headers struck out by the very frame of the groupbox whereas the textstyle is normall : I tried Groupboxes with other applications ( Test.dproj with TGroupBox) without any issue at run-time . I doubt whether this comes from my code because it does not impact the style of the GroupBoxes that remains by default but then what ??? Any idea ? I join the FMX text defining the groupbox above : object GroupBoxRoute: TGroupBox StyledSettings = [Family, Size, FontColor, Other] Position.X = 424.000000000000000000 Position.Y = 216.000000000000000000 Size.Width = 177.000000000000000000 Size.Height = 153.000000000000000000 Size.PlatformDefault = False Text = 'On Ground' TextSettings.Font.StyleExt = {00070000000000000004000000} TabOrder = 56 object Label55: TLabel StyledSettings = [Family, Size, FontColor] Position.X = 24.000000000000000000 Position.Y = 32.000000000000000000 Size.Width = 33.000000000000000000 Size.Height = 25.000000000000000000 Size.PlatformDefault = False TextSettings.Font.StyleExt = {00070000000000000004000000} Text = 'COG' TabOrder = 42 end object Label56: TLabel StyledSettings = [Family, Size, FontColor] Position.X = 24.000000000000000000 Position.Y = 72.000000000000000000 Size.Width = 33.000000000000000000 Size.Height = 25.000000000000000000 Size.PlatformDefault = False TextSettings.Font.StyleExt = {00070000000000000004000000} Text = 'SOG' TabOrder = 38 end object Label57: TLabel StyledSettings = [Family, Size, FontColor] Position.X = 128.000000000000000000 Position.Y = 32.000000000000000000 Size.Width = 33.000000000000000000 Size.Height = 25.000000000000000000 Size.PlatformDefault = False TextSettings.Font.StyleExt = {00070000000000000004000000} Text = #176 TabOrder = 41 end object Label58: TLabel StyledSettings = [Family, Size, FontColor] Position.X = 128.000000000000000000 Position.Y = 72.000000000000000000 Size.Width = 33.000000000000000000 Size.Height = 25.000000000000000000 Size.PlatformDefault = False TextSettings.Font.StyleExt = {00070000000000000004000000} Text = 'kts' TabOrder = 39 end object EdCOG: TEdit Touch.InteractiveGestures = [LongTap, DoubleTap] TabOrder = 45 Text = '0' TextSettings.Font.StyleExt = {00070000000000000004000000} TextSettings.FontColor = claBlueviolet TextSettings.HorzAlign = Center Position.X = 72.000000000000000000 Position.Y = 32.000000000000000000 Size.Width = 49.000000000000000000 Size.Height = 21.000000000000000000 Size.PlatformDefault = False StyledSettings = [Family, Size] end object EdSOG: TEdit Touch.InteractiveGestures = [LongTap, DoubleTap] TabOrder = 44 Text = '0' TextSettings.Font.StyleExt = {00070000000000000004000000} TextSettings.FontColor = claBlueviolet TextSettings.HorzAlign = Center Position.X = 72.000000000000000000 Position.Y = 72.000000000000000000 Size.Width = 49.000000000000000000 Size.Height = 21.000000000000000000 Size.PlatformDefault = False StyledSettings = [Family, Size] end object Label59: TLabel StyledSettings = [Family, Size, FontColor] Position.X = 24.000000000000000000 Position.Y = 112.000000000000000000 Size.Width = 49.000000000000000000 Size.Height = 25.000000000000000000 Size.PlatformDefault = False TextSettings.Font.StyleExt = {00070000000000000004000000} Text = 'Drift' TabOrder = 36 end object Label60: TLabel StyledSettings = [Family, Size, FontColor] Position.X = 128.000000000000000000 Position.Y = 112.000000000000000000 Size.Width = 33.000000000000000000 Size.Height = 25.000000000000000000 Size.PlatformDefault = False TextSettings.Font.StyleExt = {00070000000000000004000000} Text = #176 TabOrder = 40 end object EdDeriv: TEdit Touch.InteractiveGestures = [LongTap, DoubleTap] TabOrder = 43 Text = '0' TextSettings.Font.StyleExt = {00070000000000000004000000} TextSettings.FontColor = claBlueviolet TextSettings.HorzAlign = Center Position.X = 72.000000000000000000 Position.Y = 112.000000000000000000 Size.Width = 49.000000000000000000 Size.Height = 21.000000000000000000 Size.PlatformDefault = False StyledSettings = [Family, Size] end end Thanks JP
  13. I have created an API in Node.JS serving data and PDFs to my Angular front end - all works perfectly. I've also added the PDF bit onto an existing Delphi App that my company uses. There are 5 difference classes of PDF document. The Delphi app works 100% of the time, for all PDF types when I compile it for Mac OSX, however, when I run the Windows version, I get problems with 2 document types - 3 work perfectly (I can also use Postman to get the PDFs without any errors on all types) I create the PDFs on the fly in the server, and the problem PDFs are created from the same bits of server code as the ones that fail. Error: No mapping for the Unicode character exists in the target multi-byte code page I've tried changing the headers sent from the server, and also varied the request headers: I've tried different Content-Types and specified the charset=utf-8. The simple Delphi code bellow, works for all PDF types on the Mac, but only works for a subset of the document types on Windows. (It's the RESTRequest.Execute bit that fails) RESTClient.BaseURL := 'https://api.mysite.com/pdf/' + url; RESTREquest.Method := rmGet; RESTRequest.Params.AddItem; RESTRequest.Params[0].Kind := pkHTTPHEADER; RESTRequest.Params[0].ContentType := ctTEXT_PLAIN; RESTRequest.Params[0].Options := [ poDoNotEncode ]; RESTRequest.Params[0].name := 'authorization'; RESTRequest.Params[0].value := 'Bearer ' + Token; RESTRequest.Execute; if RESTResponse.StatusCode = 200 then begin RespBytes := RESTResponse.RawBytes;
  14. Hi, i have a multi platform app that i'm maintaining from a few time I'm getting used to debug problems, but when the app is stuck into the splashscreen and Delphi cannot even start the debug mode the problem begins. I used logcat but cannot really get any useful information. The last time i had this problem it was caused from some .so files in a wrong path and the code put into the initialization section to load those .so files was crashing my app. But this time i already fixed that and i already tried to comment out all the code into the initialization section. What can i try to understand why my app is stuck? Ide shows no errors, and this is my logcat The only error shown is "isHeavy hint type 1 for app" but i have no variable called isHeavy in my code so i really have no idea what is referring to 12-16 09:39:47.578: D/Launcher.CellLayout(3938): touch item:ShortcutInfo, id=99, itemType=0, user=UserHandle{0}, mIconType=0, pkgName=<my package name>, className=com.embarcadero.firemonkey.FMXNativeActivity, screenId=2, container=-100, cellX=3, cellY=3, spanX=1, spanY=1, isLandscapePos=false 12-16 09:39:47.598: D/Launcher_dispatchTouchEvent_View(3938): 39:47.597 View= mHCells=4 mVCells=6 mTotalCells=24 mCellXY[0]=3 mCellXY[1]=5 childCount=16 EmptyCellsNum=8 [ tag 0 =com.miui.home.launcher.FolderIcon{f02e59 VFE...CL. ........ 795,84-1049,383}| childWidth 0 =254| childHeight 0 =299| childTranslationX 0 =0.0| childTranslationY 0 =0.0| childX 0 =795.0| childY 0 =84.0| childAlpha 0 =1.0] [ tag 1 =com.miui.home.launcher.ShortcutIcon{cb4f70e VFE...CL. ........ 33,84-287,383}(Impostazioni)| childWidth 1 =254| childHeight 1 =299| childTranslationX 1 =0.0| childTranslationY 1 =0.0| childX 1 =33.0| childY 1 =84.0| childAlpha 1 =1.0] [ tag 2 =com.miui.home.launcher.ShortcutIcon{85f4ea3 VFE...CL. ........ 33,389-287,688}(Note)| childWidth 2 =254| childHeight 2 =299| childTranslationX 2 =0.0| childTranslationY 2 =0.0| childX 2 =33.0| childY 2 =389.0| childAlpha 2 =1.0] [ tag 3 =com.miui.home.launcher.ShortcutIcon{a32dacd VFE...CL. ........ 287,84-541,383}(Mi Video)| childWidth 3 =254| childHeight 3 =299| childTranslationX 3 =0.0| childTranslationY 3 =0.0| childX 3 =287.0| childY 3 =84.0| childAlpha 3 =1.0] [ tag 4 =com.miui.home.launcher.ShortcutIcon{579b6e7 VFE...CL. ........ 541,84-795,383}(Meteo)| childWidth 4 =254| childHeight 4 =299| childTranslationX 4 =0.0| childTranslationY 4 =0.0| childX 4 =541.0| childY 4 =84.0| childAlpha 4 =1.0] [ tag 5 =com.miui.home.launcher.ShortcutIcon{603d248 VFE...CL. ........ 33,694-287,993}(AnyDesk)| childWidth 5 =254| childHeight 5 =299| childTranslationX 5 =0.0| childTranslationY 5 =0.0| childX 5 =33.0| childY 5 =694.0| childAlpha 5 =1.0] [ tag 6 =com.miui.home.launcher.ShortcutIcon{8e5aedb VFE...CL. ........ 541,389-795,688}(Mi Browser)| childWidth 6 =254| childHeight 6 =299| childTranslationX 6 =0.0| childTranslationY 6 =0.0| childX 6 =541.0| childY 6 =389.0| childAlpha 6 =1.0] [ tag 7 =com.miui.home.launcher.ShortcutIcon{d6128bc VFE...CL. ........ 541,694-795,993}(Pilot)| childWidth 7 =254| childHeight 7 =299| childTranslationX 7 =0.0| childTranslationY 7 =0.0| childX 7 =541.0| childY 7 =694.0| childAlpha 7 =1.0] [ tag 8 =com.miui.home.launcher.ShortcutIcon{d3e54b5 VFE...CL. ........ 287,389-541,688}(Assistente)| childWidth 8 =254| childHeight 8 =299| childTranslationX 8 =0.0| childTranslationY 8 =0.0| childX 8 =287.0| childY 8 =389.0| childAlpha 8 =1.0] [ tag 9 =com.miui.home.launcher.ShortcutIcon{b8369ee VFE...CL. ........ 287,694-541,993}(Iotar)| childWidth 9 =254| childHeight 9 =299| childTranslationX 9 =0.0| childTranslationY 9 =0.0| childX 9 =287.0| childY 9 =694.0| childAlpha 9 =1.0] [ tag 10 =com.miui.home.launcher.ShortcutIcon{6bed613 VFE...CL. ........ 795,389-1049,688}(NordVPN)| childWidth 10 =254| childHeight 10 =299| childTranslationX 10 =0.0| childTranslationY 10 =0.0| childX 10 =795.0| childY 10 =389.0| childAlpha 10 =1.0] [ tag 11 =com.miui.home.launcher.ShortcutIcon{30d4ffe VFE...CL. ........ 541,999-795,1298}(<my app name> Mobile Assist)| childWidth 11 =254| childHeight 11 =299| childTranslationX 11 =0.0| childTranslationY 11 =0.0| childX 11 =541.0| childY 11 =999.0| childAlpha 11 =1.0] [ tag 12 =com.miui.home.launcher.ShortcutIcon{d4fa929 VFE...CL. ........ 33,999-287,1298}(AIDA64)| childWidth 12 =254| childHeight 12 =299| childTranslationX 12 =0.0| childTranslationY 12 =0.0| childX 12 =33.0| childY 12 =999.0| childAlpha 12 =1.0] [ tag 13 =com.miui.home.launcher.ShortcutIcon{194fa12 VFE...CL. ........ 287,999-541,1298}(QuickSupport)| childWidth 13 =254| childHeight 13 =299| childTranslationX 13 =0.0| childTranslationY 13 =0.0| childX 13 =287.0| childY 13 =999.0| childAlpha 13 =1.0] [ tag 14 =com.miui.home.launcher.ShortcutIcon{bd39537 VFE...CL. ........ 795,694-1049,993}(App Info)| childWidth 14 =254| childHeight 14 =299| childTranslationX 14 =0.0| childTranslationY 14 =0.0| childX 14 =795.0| childY 14 =694.0| childAlpha 14 =1.0] [ tag 15 =com.miui.home.launcher.ShortcutIcon{6d564e6 VFE...CL. ...P.... 795,999-1049,1298}(<my app name>)| childWidth 15 =254| childHeight 15 =299| childTranslationX 15 =0.0| childTr 12-16 09:39:47.598: D/Launcher_dispatchTouchEvent_View(3938): 39:47.597 View=com.miui.home.launcher.ShortcutIcon{6d564e6 VFE...CL. ...P.... 795,999-1049,1298}(<my app name>) 12-16 09:39:47.666: I/ActivityTaskManager(1757): START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=<my package name>/com.embarcadero.firemonkey.FMXNativeActivity bnds=[840,1098][1008,1266] (has extras)} from uid 10078 12-16 09:39:47.670: E/ANDR-PERF-LM(988): GAMEOPT: getData() 1035: isHeavy hint type 1 for app <my package name> 12-16 09:39:47.678: V/ActivityTaskManager(1757): Starting new activity ActivityRecord{f754cfb u0 <my package name>/com.embarcadero.firemonkey.FMXNativeActivity t140} in new task Task{304e060 #140 visible=true type=standard mode=fullscreen translucent=true A=10291:<my package name> U=0 StackId=140 sz=1} 12-16 09:39:47.732: D/Boost(1757): hostingType=pre-top-activity, hostingName={<my package name>/com.embarcadero.firemonkey.FMXNativeActivity}, callerPackage=com.miui.home, isSystem=true, isBoostNeeded=false. 12-16 09:39:47.733: I/ActivityManager(1757): Start proc 28622:<my package name>/u0a291 for pre-top-activity {<my package name>/com.embarcadero.firemonkey.FMXNativeActivity} caller=com.miui.home 12-16 09:39:47.742: V/WindowManager(1757): Orientation start waiting for draw, mDrawState=DRAW_PENDING in Window{13c228d mode=0 rootTaskId=140 u0 Splash Screen <my package name>}, surfaceController Surface(name=Splash Screen <my package name>)/@0xa3ec6bc 12-16 09:39:47.794: I/GST(6103): forePkg: <my package name>, preForePkg: com.miui.home 12-16 09:39:47.794: D/PerfEngineController(6093): ForegroundInfo{mForegroundPackageName='<my package name>', mForegroundUid=10291, mForegroundPid=28622, mLastForegroundPackageName='com.miui.home', mLastForegroundUid=10078, mLastForegroundPid=3938, mMultiWindowForegroundPackageName='null', mMultiWindowForegroundUid=-1, mFlags=1} 12-16 09:39:47.795: I/ProcessMonitor(5408): onForegroundInfoChanged: ForegroundInfo{mForegroundPackageName='<my package name>', mForegroundUid=10291, mForegroundPid=28622, mLastForegroundPackageName='com.miui.home', mLastForegroundUid=10078, mLastForegroundPid=3938, mMultiWindowForegroundPackageName='null', mMultiWindowForegroundUid=-1, mFlags=1} 12-16 09:39:47.795: D/AutoInstallService(11010): onForegroundInfoChanged: <my package name> 12-16 09:39:47.795: I/GameBoosterService(5408): onForegroundInfoChanged: Cur=<my package name> last=com.miui.home 12-16 09:39:47.801: D/GameBoosterService(5408): onGameStatusChange foreground:ForegroundInfo{mForegroundPackageName='<my package name>', mForegroundUid=10291, mForegroundPid=28622, mLastForegroundPackageName='com.miui.home', mLastForegroundUid=10078, mLastForegroundPid=3938, mMultiWindowForegroundPackageName='null', mMultiWindowForegroundUid=-1, mFlags=1} 12-16 09:39:47.881: D/View(28622): <my package name> initForcedUseForceDark: 1 12-16 09:39:47.909: W/linker(28622): Warning: "/data/app/~~wyLwJiilp-W6tb-ch2CPmA==/<my package name>-jZXsqAEEsEtrsmvpmPdF4Q==/lib/arm64/lib<my app name>.so" unused DT entry: DT_RPATH (type 0xf arg 0x2f4c4) (ignoring) 12-16 09:39:48.405: I/ActivityManager(1757): Process <my package name> (pid 28622) has died: fg TOP 12-16 09:39:48.550: W/WindowManager(1757): Failed to schedule DisplayAdjustmentsItem to ProcessRecord{d1d4bbf 28622:<my package name>/u0a291} 12-16 09:39:48.555: D/CommandQueue(3690): setStatus: setStatus: what = 0, action = upate_specail_mode, ext = Bundle[mParcelledData.dataSize=112][pkg = <my package name>[enable_config = false 12-16 09:39:48.657: D/Boost(1757): hostingType=top-activity, hostingName={<my package name>/com.embarcadero.firemonkey.FMXNativeActivity}, callerPackage=com.miui.home, isSystem=true, isBoostNeeded=false. 12-16 09:39:48.657: I/ActivityManager(1757): Start proc 28653:<my package name>/u0a291 for top-activity {<my package name>/com.embarcadero.firemonkey.FMXNativeActivity} caller=com.miui.home 12-16 09:39:48.805: D/View(28653): <my package name> initForcedUseForceDark: 1 12-16 09:39:48.829: W/linker(28653): Warning: "/data/app/~~wyLwJiilp-W6tb-ch2CPmA==/<my package name>-jZXsqAEEsEtrsmvpmPdF4Q==/lib/arm64/lib<my app name>.so" unused DT entry: DT_RPATH (type 0xf arg 0x2f4c4) (ignoring) 12-16 09:39:49.325: I/ActivityManager(1757): Process <my package name> (pid 28653) has died: fg TOP 12-16 09:39:49.356: D/Boost(1757): hostingType=top-activity, hostingName={<my package name>/com.embarcadero.firemonkey.FMXNativeActivity}, callerPackage=com.miui.home, isSystem=true, isBoostNeeded=false. 12-16 09:39:49.356: I/ActivityManager(1757): Start proc 28696:<my package name>/u0a291 for top-activity {<my package name>/com.embarcadero.firemonkey.FMXNativeActivity} caller=com.miui.home 12-16 09:39:49.473: D/View(28696): <my package name> initForcedUseForceDark: 1
  15. The Delphi WSDL Importer has done an impressive job of taking a (local) WSDL file and generating some very useful code (that almost works!) To debug, I have looked at the outgoing request with Fiddler, and based on this, I've been able to alter the WSDL file to effect a required change in the request header. However, the problem remains that Delphi is generating a tag with "NAV_CustomerItemPriceV1" but the server needs "ReadMultiple" - ( which seems sensible of Delphi as the resource that it uses is called NAV_CustomerItemPriceV1) Despite further manual changes to the WSDL and to the code generated by Delphi, I can't force a change in this tag. I have seen posts where people have suggested intercepting the XML, but I'm not sure how to do this (or how to access the events on THTTPRIO) TIA Incorrect: <NAV_CustomerItemPriceV1 xmlns="http://tempuri.org/"> <customerNo>account_no</customerNo> <apiKey>api_key</apiKey> <itemList> <Item No="T14727IO" xmlns="urn:microsoft-dynamics-nav/xmlports/NAV_CustomerItemPriceV1" /> <Item No="ZT62062-T1E0100Z" xmlns="urn:microsoft-dynamics-nav/xmlports/NAV_CustomerItemPriceV1" /> </itemList> </NAV_CustomerItemPriceV1> Correct: <ReadMultiple xmlns="http://tempuri.org/"> <customerNo>account_no</customerNo> <apiKey>api_key</apiKey> <itemList> <Item No="T14727IO" xmlns="urn:microsoft-dynamics-nav/xmlports/NAV_CustomerItemPriceV1" /> <Item No="ZT62062-T1E0100Z" xmlns="urn:microsoft-dynamics-nav/xmlports/NAV_CustomerItemPriceV1" /> </itemList> </ReadMultiple>
  16. Get the most out of your GPU by writing custom shaders for FireMonkey! https://blog.grijjy.com/2021/01/14/shader-programming/
  17. Alex Joseph

    Fetch server IP in android client app

    I have firedac datasnap server connected to mssql database server. I am using dbx connection from my firemonkey client app that is running on android mobile. Since I have different datasnap servers using the same App, how is it possible to acquire the IP address of the datasnap server with a parameter from client side. Can someone help me on this issue.
  18. Delphi10.2.3: OTL, FMX, ACTIVEX DCOM i have a big problem in my code to call the parallel.Async many times i have 6 ActiveX DCOM in Delphi, and wanna call these in same time, to calculate an invoice, so in my exe i work with OTL to async all calls activex, i don't like to wait result or freeze my screen. Parallel.Async( procedure (const task: IOmniTask) var iInnerExc: integer; begin /// ***********************************************************/// { return Log} TLogSingleton.Instance().Log('Services XX calcul: Début appel.',True); //************************* PARALLEL ASYNC ****************************// // executed in background thread try // {Create instance de ViewModel annexes: XXServiceXX} mainViewModelPreCalculOTLLevel03 := CreateMainViewModelOTLLevel03Class; {Affecter le même Model principal} mainViewModelPreCalculOTLLevel03.Model := fModel; {Suscribe the observer in list} mainViewModelPreCalculOTLLevel03.Provider.Subscribe(fSubscriber); {Call VieModel.ServiceXX} mainViewModelPreCalculOTLLevel03.StartPrecalcul; except on e:exception do {call the raise, juste ci dessous, dans le onterminated Handle} raise Exception.Create('Exception lors du traitement de Service XX.'); end; end, Parallel.TaskConfig.OnTerminated( procedure (const task: IOmniTaskControl) var excp: Exception; begin // executed in main thread if assigned(task.FatalException) then begin {expoiler l'exception, captcher ci dessus} excp := task.DetachException; TErrorSingleton.Instance().Log(Format('Service XX: [Fin TASK Error]. %s:%s',[excp.ClassName, excp.Message]),True); FreeAndNil(excp); end else begin // executed in main thread { return Log} TLogSingleton.Instance().Log('Services calcul: [Fin TASK] Fin appel traitement.',True); SendNotification([actServiceXXFinish]); end; end )); the Active X Call in exe FMX: (the server activeX is integreted in framework, i don't have the source code, and i don't know haw it writen) _Dm_Dcom := CreateObject('SERVICE.XX.CLT.SERVICEXX', 'DEFAUT') as ICoServiceXX; //Instance of the DLL //CALL the function in ServiceXX_impl _Dm_Dcom.GETTRaitementServiceXX(SafeArrayIn,SafeArrayOut,FListnerForPushNotif ); //with SafeArrayIn =Json IN, and take result in SafeArrayOut; FListnerForPushNotif to send notification (Type Interface: Iunknow) the ActiveX initialization in every SERVICEXX (DLL) TAutoObjectFactory.Create(ComServer, TTest, Class_Test, ciMultiInstance, tmApartment); in this DLL; we have ServiceXX_impl unit, we have one function to call traitement in another class, we can found a communication with the IInterface (published) to send notif like this: (FListnerForPushNotif as IDataListnerForPushNotification).PushNotificationForLog('Message to send to client side'); //we have many logs types: event, Error, Exception //PushNotificationForLog, PushNotificationForError,PushNotificationForException this is my call, i repeat it 6 times, Parallel.Async( CALL01 ); Parallel.Async( CALL01 ); Parallel.Async( CALL02 ); Parallel.Async( CALL06 ); i don't need to freeze my exe, and i don't need to wait, with SendNotification([actServiceXXFinish]); or other Action like "actService01Finish", "actService02Finish" i can kown if my traitement is finished or not, finaly, if i write all 6 calls, i will fall in many and many problems, like freeze screen, and deadlock (the only solution kill the process crl+alt+supp), but if i write only one call, it will be perfect, i have, my result, but the freeze screen persist, Conclusion: 1- with many calls: problems: screen freeze, traitement not working, --> kill the process. 2- with one only call: problems: screen freeze: the "TAniIndicator" not working and the screen freeze when Delphi enter in the other DLL (activeX). Nota: the Exe is FMX (in another step it will be a Form application), the 6 services are DLL (ActiveX DCOM). plz help me
  19. I have this problem,I have to make sure that my IO App made with Delphi Rio can appear in the list of apps with which to share a web link.For example if I am on safari and I am visiting a site I want to share this link with my app. I tried adding the management of CFBundleDocumentTypes and CFBundleURLTypes in the info.plist file but unfortunately my app does not appear in the list.Instead, there is the possibility to send the link to whatsapp, email, notes, and many other apps.Once opened my app must capture the link and use it internally.Do you know how I can do it?ThanksMassimiliano
  20. Hi all Delphier , good morning 😀😀 i have rest firemonkey app ,server , client im trying to check if the server is up or down from the client side using the code below , the code work fine , but when i run it its freeze the app for a while is there any proper way to do this ,thank you ,🤓☺️ try RequestLogin.Execute; if FrmLogin.RequestLogin.Response.Status.Success then begin showmessage ('server up') do something ..... end else except on e : exception do begin showmessage (' server down.... go home ') end end;
  21. I'm still testing porting from 10.3.1 to 10.3.2 In one FMX project for Macos, when just opening and compiling the working project, I've got some messages when compiling under Macos64 (Of coarse it works well under all other platforms). 1.) This message is strange, because the Imports folder is not there at all, not even the 20.0\ folder, because I installed the IDE under d:\Prj\... Under d:\Prj\Embarcadero\Studio\20.0\Imports I have that folder (which is almost empty, just a subfolder with one VCL related file "\Idl\StdVCL.idl". 2.) Its strange because of the reference to kernel32.-dll I have searched my settings, compiler, linker, deployment, registry, but I'm not lucky and couldn't find where these locations are maybe set. My BDSCOMMONDIR environment variable points to a folder close: C:\Users\reg_w\OneDrive\Dokumente\Embarcadero\Studio\20.0, but thats working at all other platforms. Then I decided to completely migrate via an new, empty project, like I described here: Create new FMX app, removed orignal unit1 and added my units from the old project. So now I got a more informative message, but still similar: compiling OK, linking failed The empty project runs, but when I add my units, something went wrong. I'm not recalling to have anything affecting linking in my code, but I haven't checked that yet. Which screw could I turn to remove this linker error, I hope somebody has a clue ? Edit: As usual, just when I prepare and sended a thread, it hits me in the face what this could be. The folder seems to be related to Spring4D .. To get Spring4D compiled, I used the following addition to switch to PUREPASCAL, which seemed to compile fine. I'M using the development branch, from not too long ago (2 weeks), haven't checked for changes. {$I Spring.inc} {$IFDEF MACOS64} // <--Addition {$DEFINE PUREPASCAL} {$ELSE} {.$DEFINE PUREPASCAL} {$ENDIF MACOS64} unit Spring.Events; So probably I have to c heck what happens with Spring4D in my Macos64 tests ... How can I switch S4D to Macos64 in the right way ?
  22. Hi, I need to rotate the screen at runtime when I open a form. Until the release of IOS 13 this code worked perfectly: procedure ChangeOrientation(toOrientation: UIInterfaceOrientation; possibleOrientations: TScreenOrientations); var win : UIWindow; App : UIApplication; viewController : UIViewController; oucon: UIViewController; begin Application.FormFactor.Orientations := []; //Change supported orientations App := TUIApplication.Wrap(TUIApplication.OCClass.sharedApplication); win := TUIWindow.Wrap(App.windows.objectAtIndex(0)); //The first Windows is always the main Window App.setStatusBarOrientation(toOrientation); {After you have changed your statusbar orientation set the Supported orientation/orientations to whatever you need} Application.FormFactor.Orientations := possibleOrientations; viewController := TUIViewController.Wrap(TUIViewController.alloc.init);//dummy ViewController oucon := TUIViewController.Wrap(TUIViewController.alloc.init); {Now we are creating a new Viewcontroller now when it is created it will have to check what is the supported orientations} oucon := win.rootViewController;//we store all our current content to the new ViewController Win.setRootViewController(viewController); Win.makeKeyAndVisible;// We display the Dummy viewcontroller win.setRootViewController(oucon); win.makeKeyAndVisible; {And now we Display our original Content in a new Viewcontroller with our new Supported orientations} end; However, since the release of IOS 13 the screen locks on the set orientation but does not rotate. So if I set Landscape orientation the screen remains in Portrait orientation until I physically turn the phone around, at which point it rightly remains locked on that orientation. This is a real disaster because then, until the phone is turned, all the controls ( finger position, object position,..) are wrong.
  23. Hi all, This morning while debugging my FMX app in Windows I suddenly started getting an EOleException within the Notification Center while initialising. onecoreuap\base\diagnosis\platform\notifications\developer\toast.cpp(2389)\wpnapps.dll!63CC11A2: (caller: 63CB5660) ReturnHr(1) tid(14e0) 803E0105 The notification platform is unavailable. First chance exception at $776F9862. Exception class EOleException with message 'The notification platform is unavailable' I've never seen this before, but it may be related to my Windows setup having updated over the weekend to v2004 (19041.388). It looks suspiciously like MS have changed the way their notification APIs work in this update... Has anyone seen this before or know of a way to resolve it? There's nothing useful on Google about this error that I could find. Thanks
  24. Just updated a Huawei P20 phone to Android 10, and am finding the things that it has now broken! This code worked fine in android 9. Using Delphi 10.4. FileData=tfile.ReadAllLines('/storage/emulated/0/Documents/Pete/PeteADefaults.cfg') now prangs with Cannot open file "/storage/emulated/0/Documents/Pete/PeteADefaults.cfg" Permission denied. Anyone got any bright ideas? I tracked it through with F7 to FileOpen in System.IOUtils, FileHandle := __open(M.AsAnsi(filename, CP_UTF8).ToPointer, (Mode and 3), FileAccessRights) which returns -1. (Can't read files or directories either - probably the same problem)
  25. Hi there, I'm using Bluetooth-LE, and I can see that apps might crash in RELEASE under TestFlight, while they work well in DEBUG. This happened never on older iOS versions, so I still try to find the real reason for crashing. What I think is that the bluetooth-le flag not only controls the download from AppStore, but maybe also might cause internal crash's, if not defined. I use bluetooth, with UIBackgroundModes "location", "bluetooth-cetral" and "audio" background modes, which worked well before (and still does in DEBUG), but now shows the typical permission crashes, all on modern phones and iPads with iOS13.4.1. My configuration: Rx10.3.3, XCode 11.4.1, iOS13.4.1. Maybe I need to define bluetooth-le in the UIRequiredDeviceCapabilities, or does that doesn't make any difference in apps behaviour ?
×