Search the Community
Showing results for tags 'rio'.
Found 24 results
-
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
- 9 replies
-
- ios
- firemonkey
-
(and 6 more)
Tagged with:
-
Hello, I am using Delphi 10.3.3, targeting Win32 executable. There is a SOAP web service that I have build a class for it. That class runs just fine on a test project. However, when I put it in my main project, I get below error DocumentElement http://schemas.xmlsoap.org/soap/envelope/:Envelope expected, :Envelope found I checked, there is only one single unit for this web service in my whole computer and both projects are using that unit. I have used different SOAP web services in the past. Some of them rarely raise "HTML found" kind of error messages, but never got ":Envelope found" until now. None of my web searches lead me to same error message that I receive. I have all requests and responses saved in text files. Comparing them I can see no difference. It is only number of records returned changes due to filter parameters. I also used Fiddler Telerik and captured whole response using both test project and main project. They are identical as far as I can tell. Test project response starts as: HTTP/1.1 200 OK Content-Type: text/xml;charset=UTF-8 Connection: keep-alive Set-Cookie: JSESSIONIDSSO=529DA436282217EF9D8D9F21515121D3; Path=/; Secure Set-Cookie: JSESSIONID=82E5260FE1737AA7C77DCE37D71B7132; Path=/listingapi/ws; Secure Server-Timing: intid;desc=d2369e80a9274e5b Date: Sun, 06 Jun 2021 19:41:44 GMT Vary: Accept-Encoding Content-Length: 15213 <env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'> <env:Header/> <env:Body> <ns1:getSalesByDateRangeResponse xmlns:ns1='http://sale.individual.ws.listingapi.gg.com'> <return> <ackCode>success</ackCode> <responseTime>06/06/2021 22:41:44</responseTime> <timeElapsed>1 ms</timeElapsed> <saleCount>11</saleCount> <sales> <sale> Main project response starts as: HTTP/1.1 200 OK Content-Type: text/xml;charset=UTF-8 Connection: keep-alive Set-Cookie: JSESSIONIDSSO=7A2E4B6940B5E0E44F86FF95BBCD6C3D; Path=/; Secure Set-Cookie: JSESSIONID=0ED54949FAC10990F8F24B27B9174216; Path=/listingapi/ws; Secure Server-Timing: intid;desc=1a968daea7e9c9d9 Date: Sun, 06 Jun 2021 19:41:17 GMT Vary: Accept-Encoding Content-Length: 9877 <env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'> <env:Header/> <env:Body> <ns1:getSalesByDateRangeResponse xmlns:ns1='http://sale.individual.ws.listingapi.gg.com'> <return> <ackCode>success</ackCode> <responseTime>06/06/2021 22:41:17</responseTime> <timeElapsed>225 ms</timeElapsed> <saleCount>7</saleCount> <sales> <sale> Web service WSDL can be reached from: https://dev.gittigidiyor.com:8443/listingapi/ws/IndividualSaleService?wsdl I appreciate any help, please. Thanks & Regards, Ertan
-
Problem with Delphi RIO 10.3.3 and Google API Level 29
Massimiliano S posted a topic in Cross-platform
Hello I need to upload a test app on the google store. Unfortunately, the loading is not successful because Google requires at least a Level 29 for Android 10 as the target of the API while mine is 28. I am using delphi rio 10.3.3 I updated the SDKs by also installing 29 and downloaded the android-ndk-r21d NDK version. I then updated SDK manager set as android-29 target. Unfortunately, delphi always compiles by setting in the manifest: <uses-sdk android: minSdkVersion = "19" android: targetSdkVersion = "28" /> So I forced version 29 in the manifest template but unfortunately the app crashes I read that Delphi RIO theoretically supported the Android 10 version but I could not find anything about my problem other than a 6 month old post with no solution Has anyone found this problem yet? Thanks Massimiliano- 20 replies
-
- api
- play store
-
(and 1 more)
Tagged with:
-
We have an old windows service, recently upgraded in Delphi Rio, that spawns off few threads. Each thread is interacting with COM DLLs. Each thread is working on its own and doesn't need synchronization. Each thread works on a separate record, so no issues of locking. When I run following code, the memory rapidly increases in the Task Manager as threads process records. Its also reported as BSTR (Widestring) type leak in Deleaker. And finally, we end up having the "out of memory". Each thread does following: var a: IBusinessClass; begin a := ObjCOMServer.GetNewInstance('TBusinessClass') // Not the actual call, but the idea is to ask a COM dll to give a new instance of TBusinessClass a.RowId := GetNextId; a.AWideStringProperty := 'Test'; a.AnIntProperty := 1001; ....etc... SaveCOMServer.Save(a.asXML, ...) // This is the prior to upgrade code. If I comment out this line, leak doesn't happen // SaveCOMServer.Save(String(a.asXML), ...) <--- If I execute this statement then it doesn't leak. end; We tried following but still memory increased in the same way above... (1). Declare a local variable of type OleVariant to hold a.asXML..and pass it to Save(). (2). In the Save() on SaveCOMServer, the first statement we put is "exit" to rule out any SetAsXML() (code below) leaks. Following is not showing any significant increase of memory in Task Manager (so technically, I don't know if it stopped memory leaks) (1). If I don't call Save() et all, then memory doesn't increase. But calling Save() is essential. (2). Declare a local string variable and assign a.asXML to it and pass it to Save(), then the memory increase stops. (3). When I apply casting string(a.asAXML) while calling Save(), the memory increase stops. Some Details: asXML - is a read and write property of type OleVariant. Its get method - GetAsXML(), uses lib2XML parser and RTTI (old style, TypInfo), builds up a XML structure of the object and return an OleVariant. function xxx.GetAsXML: OleVariant; var lDocument : xmlDocPtr; lRootNode: xmlNodePtr; lBuffer : xmlCharPtr; //PAnsiChar in LibXML2 lBufferSize : integer; lResult : string; lName : string; begin lDocument := xmlNewDoc(nil); try // ... Builds up the XMLDocuments here using RTTI xmlDocDumpMemory(lDocument, @lBuffer, @lBufferSize); try lResult := lBuffer; // Ansi converted in unicode string Result := lResult; // unicode string to olestr finally xmlFree(lBuffer); end; finally xmlFreeDoc(lDocument); end; end; procedure xxx.SetAsXML(const AInputVariant: OleVariant) var ... begin lOutputStream := TMemoryStream.Create; lOutputStream.Position := 0; if (VarType(AInputVariant) = varOleStr) then begin lStringStream := TStringStream.Create(String(AInputVariant)); // <--- Notice the casting try lStringStream.Position := 0; lOutputStream.CopyFrom(lStringStream, lStringStream.Size); finally lStringStream.Free; end; // Now process the lOutputStream using libXML2 and RTTI and assign back the properties. end end; Save() -- Takes input OleVariant, fills a local blank object with the data from OleVariant as setting local object's asXML := ABusinessObj Here is how Save() is defined in type library: interface Ixxx: Iyyy { [id(0x00000001)] HRESULT _stdcall Save([in] VARIANT ABusinessObj, ......) Can someone help to figure out what's going on? Why its leaking the memory, and not increasing when String() is applied, and what could be the clean solution?
- 14 replies
-
- rio
- olevariant
-
(and 1 more)
Tagged with:
-
Hi, I was given this link that helped me get my Android test app working. http://docwiki.embarcadero.com/RADStudio/Rio/en/Firebase_Android_Support Now I need to build an iOS app and get that working. I did some searching on docwiki but found nothing about iOS alerts in Rio. I did find some things about Delphi 8. Can anyone provide me with a link about building an iOS app to receive push notifications from Firebase using Rio 10.2. Or 10.3. Thanks, Gary
-
I am trying to make an Android app to test push alerts. I have Delphi 10.3 I found this article that tells how to do it. https://community.idera.com/developer-tools/b/blog/posts/firebase-android-push-notification-support-with-rad-studio-10-3-1 But following the start directions it says to download this: "Before you get started, download the Firebase FMX package from the GetIt Package Manager in the IDE (Tools > GetIt Package Manager). You can find it in the “Tools” category." I found the GetIt Package Manager in Delphi but I can't find the Firebase FMX package in the list of packages. I don't know what to do to get around this. Any ideas?
-
Hi, I am trying to import a KeyStore file into RIO from Delphi XE8. The file opens correctly in XE8. But in RIO it says: Invalid KeyTool: \bin\KeyTool.exe. Do you need more information. If so, what? What should be the steps to move this file into RIO? I read that Google requires APS to always use the original KeyStore file, so that is why I am trying to move this into RIO. Gary
-
Hi, This is a relatively new installation of RIO and this is a simple test project. This is a Win 32 build. There is only one page. And all it has on it is a Label and a Text box. There is no code. When I compile it I get two errors. ------------------------------ Compiling App3.dproj (Debug, Win32) dcc32 command line for "App3.dpr" [dcc32 Error] E1026 File not found: 'FMX.Filter.res' [dcc32 Error] E1026 File not found: 'FMX.Controls.Win.res' Failed Elapsed time: 00:00:02.3 --------------------------------- How do I correct this? If there is a link to a documentation page about this please post the link. Thanks, Gary ========== What are FMX files and where they are from and how to add them to the library files so they can be found? Gary
-
Hi, I am moving an application to Rio from an earlier version of Delphi. It used to build, but now it won't. This is an Android build. -------------------------------- Uses System.StartUpCopy, - [DCC Fatal Error] ChirpSR.dpr(4): Could not compile used unit 'System.StartUpCopy.pas' FMX.MobilePreview, - Cannot resolve unit name. FMX.Forms, - Cannot resolve unit name. FMX.Types, - Cannot resolve unit name. System.SysUtils, - Cannot resolve unit name. -------------------------------- How do I resolve these issues? Unfortunately I haven't used Delphi for a couple years, so I'm kind of rusty. I also need to get a new build out rather soon. Gary
-
Hi, Just tried to debug an iOS app from within the IDE but when launched on the iPhone, all breakpoints are marked as invalid and the app doesn't stop on any of them. Even an empty app with a breakpoint in FormCreate doesn't work.The Events window says Module Load: dyld. No Debug Info. Base Address: $0000000104D8C000. Process Project1 (1774) Module Load: Project1. Has Debug Info. Base Address: $0000000102D34000. Process Project1 (1774) No Debug Info for dyld... Am I missing something? Thanks for any clue. (I'm in Debug mode of course, not Release) Xcode 11.5 and iOS SDK 13.5
-
I did the installation of Delphi 10.3 Rio on a Windows Server 2008 R2 virtual machine, the installation occurred correctly but I'm having interface problems. Several parts of the screen are not drawn correctly, being necessary to click with the mouse on the object inspector for it to be drawn, for example, etc. The welcome page draws perfectly, but if i create a new VCL application some of the panels are not drawn, the process bds.exe keep consuming 20~25% CPU with a VCL Blank Application. Can someone help me?
-
Hello, I was developing a mobile application for my school, I were using Delphi Rad Studio Rio 10.3. Here is brief description what application is doing: in some editboxes user adds data -> proceed to next tab On second tab user is choosing video that he wants to preview, while video is playing he is clicking some buttons to mark duration of some activities on video that he loaded ... After that i am making a PDF report and saving to storage. I made whole application and it is working great, problem is that I used this library for slowing down video preview -> https://github.com/Zeus64/alcinoe i had some issues with this library ( most of them were configuration issues ) but at the end I managed to resolve all of them and make my app. So why I used this library? Answer is that it had option to set speed preview of video. Before I started using this library i was trying for a few days to implement this -> https://stackoverflow.com/questions/18526336/playback-video-in-slow-motion-in-android check answer from " karanatwal.github.io " Problem was that I didnt know how to rewrite this android code into delphi FMX code : videoview = (VideoView)findViewById(R.id.videoview); videoview.setVideoURI("Your Video URI"); videoview.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { @Override public void onPrepared(MediaPlayer mp) { //works only from api 23 PlaybackParams myPlayBackParams = new PlaybackParams(); myPlayBackParams.setSpeed(0.5f); //here set speed eg. 0.5 for slow 2 for fast mode mp.setPlaybackParams(myPlayBackParams); videoview.start();//start your video. } }); So now I would like to rebuild my application and exclude this " alcinoe " library cuz I use it only for setting playback speed.. Can somebody help me rewriting this to a delphi code ? Thank you EDIT: I will later post code snippet of how i retrieve path of video and how i load it, code is not that great because it was one of my first projects but maybe it will help someone who reads this.
-
Hello all, my most important application, a big beast I've been working on for almost two decades and which I must maintain/support indefinitely, is an MDI application. The program offers 50+ different views and editors and the users (working on oil rigs) usually have a handful of these MDI child windows open simultaneously. The program can optionally run in SDI mode but nobody does that - it only clutters their desktop and they must have other applications (such as Word and Excel) open at the same time. A MDI window also has the advantage that you can quickly drag the whole thing (with all child windows) to a different monitor if it gets in the way. It is currently built using Delphi XE. I already had high-dpi awareness V2 working usably (don't ask - it took tons of hacks and sleepless nights) but since I expected native high-dpi support to come to Delphi some day, all those hacks can be automatically disabled with an IFDEF. So now I'm trying to migrate this application from Delphi XE to Delphi Rio. I can compile and run it successfully, but unfortunately Embarcadero chose to not support high-DPI in MDI applications and the visual result is really disappointing. MDI child windows are now unusably small on a high-resolution monitor. I can't force the SDI application model through my users' throats so I must either get this DPI awareness to work properly on Rio or stick with Delphi XE. Sure I could write some flags into the Windows 10 registry to make the whole application non-DPI aware, but that's not a satisfactory solution. I had DPI-awareness working and now I'm losing that. Any ideas on how to solve this?
-
Ontwikkelaar ERP software Oosterwolde
Gert Scholten posted a topic in Job Opportunities / Coder for Hire
Wij zijn op zoek naar een nieuwe aanwinst voor ons ontwikkel team in Oosterwolde. Syntri ontwikkelt een ERP systeem voor de maakindustrie, waarbij proces en workflow centraal staan. - Delphi 10.3 Rio VCL - iOS en Android ontwikkeling in Firemonkey - REST Api Vacature Software Ontwikkelaar -
Difference between "Developement" and "Application Store"
microtronx posted a topic in Cross-platform
I use Rio for Android developement. It creates my app which is already available in the playstore but i think something is wrong with Rio when it creates the output with project configuration changed to appstore. @Marco Cantu are there any limitations known when it comes to 32/64bit and services with Rio? In "developement" everything works very good (api target 26) but when app is published to google playstore and i install it from there, none of the services can be started and also logcat does not show anything. Thanks for some tips / hints. -
As in different old topics written, it is still not possible to have a android service with a tfdconnection or a tsqlconnection on it. The service is not starting any more, you use this. Here's a link: https://forums.embarcadero.com/thread.jspa?threadID=229761 But what can we do? Is there a known solution? I'm not able to find one. Have tried to create all components in service's code but still, i don't even get a log entry that means the service still can't be created and the app hangs on trying to start the service. Anone out there who can give some tips?
-
rio tInAppPurchase: "IabResult: IAB gab keine purchaseData oder dataSignature zurück (response: Unbekannter Fehler)"
microtronx posted a topic in FMX
We've implemented InAppPurchases, it works but if the user buyes a 12 months subscription on finsih i get this error is returned in "OnError" as tFailureKind.Purchase: IabResult: IAB gab keine purchaseData oder dataSignature zurück (response: Unbekannter Fehler) But Google says purchase is successful. I see the subscription activated. If i do a InAppPurchase.QueryProducts the product is listed as activated. Is someone using this with Rio and working? Is there any other component available than the integrated from embc. Such a base-function should work out of the box but does not. -
Anyone compiled Android apps (api 16) for Industrial devices with Android 4.1.x
microtronx posted a topic in Cross-platform
Hi, i know that Rio does not support below API16 but we have some older apps for industrial devices we need to update them. They were programmed with Tokyo with a lot of problems and i want to test them with Rio. Rio is installed on a new VM so i want to know if someone has get it work to compile apps for api level 16 / android 4.1.1 with Rio. -
Hi, I'm trying to build a webservice using Overbyte ICS THTTPAppServer component, i plan to run it as a windows service, i've setup the windows service but got problem when trying the AddGetHandler, the class to handle the request seems not recognized. It failed on line : 948 : TMyHttpHandler(Proc)(FLags); on file OverbyteIcsHttpAppServer.pas. It cause access violation. My Setup is the usual windows service template, and i run the HTTPAppServer on serviceStart event The webserver is working, i'm trying using the FHTTPServer.AddGetAllowedPath('/', afBeginBy); routine and it can handle the request Problem only when try to access the URLHandler. so is it possible to make HTTPAppServer as windows service? And how to setup it correctly Thank you
-
Hello, I am using Delphi 10.3.2. There is that Delphi7 project which uses over 200 units and forms. I am asked to migrate it to Delphi Rio. There are some components used for skinning that will be removed during migration. Other than this, code is mostly compatible. However, I cannot have a good compile. I get one of below errors too frequently that it gets a person fed up. Consider each line as an error returned after a different compile Could not create output file 'DCU-DEBUG\xyz.dcu' File not found: 'UnitMainForm.pas' File not found: 'UnitLogin.pas' File not found: 'UnitSalesEntry.pas' File not found: 'ERP.dpr' I am sure all these files exists. I did not copy-paste them. Used SVN to have all files in my computer. Removing all add-ons, even IdeFixPack and problem still exists. Files are on an SSD drive and there is plenty of free space on that drive. "DCU-DEBUG" folder is writable by Delphi. I do not have any errors reported by Delphi when closing (tested to see if some memory leaks or similar). I failed to find a fix for that problem and asking in here in case someone else might faced that before and can suggest a solution. Thanks & regards, Ertan
-
Using a VCL Style, I'm trying to customise the background colour of TStringgrid objects. The empty part of the grid that contains no cells. At present the background is rendering white - and I'd like it to render a different colour. The Bitmap Style Designer lists a Grid object, which contains a single Fixed (TSeBitmapObject) item, but nothing relating to painting the background of the grid control. How can I determine which item(s) in the Bitmap Style Designer relate to all aspects of drawing a TStringgrid control?
- 1 reply
-
- rio
- bitmap style designer
-
(and 1 more)
Tagged with:
-
Hello, I have attached a project for re-production of my problem. When Windows scale is set to something higher than 100%, compiled exe display main form visible behind login form while login form is displayed as "ShowModal" in main form's OnCreate() event. I have worse problems further in my production application like complete freezing of application in other forms. However; - Delphi 10.2.3 generated EXE does not have that problem at all. - Delphi 10.3 exe does not have that problem (and any of other problems in my production application) if scaling set to 100% in Windows settings. I would like if someone else can confirm that is actually a problem of Delphi 10.3 Rio. I appreciate if anybody can suggest a solution/workaround. Thanks & Regards, Ertan Delphi10.3_forms.zip
- 7 replies
-
- showmodal
- delphi 10.3
-
(and 2 more)
Tagged with:
-
Hi, I'm trying to get my components, packages and units running under Delphi 10.3 Rio. Currently I'm stumbling over CCR.EXIF (latest revision 1.5.1), the set of units to read and manipulate EXIF header data and such in images. The compiler throws a E2574 in the unit CCR.Exif.IPTC.pas at this place: unit CCR.Exif.IPTC; interface uses Types, SysUtils, Classes, {$IFDEF HasGenerics}Generics.Collections, Generics.Defaults,{$ENDIF} {$IFDEF VCL}Jpeg,{$ENDIF} CCR.Exif.BaseUtils, CCR.Exif.TagIDs, CCR.Exif.TiffUtils; type TIPTCStringArray = type Types.TStringDynArray; //using 'type' means the helper defined below will only apply to it {$IFDEF XE3+} TIPTCStringArrayHelper = record helper for TIPTCStringArray class function CreateFromStrings(const Strings: TStrings): TIPTCStringArray; static; function Join(const Separator: string): string; end; {$ENDIF} In line 11 of this excerpt the compiler throws a E2574 ("Instantiated type can not be used for TYPE'd type declaration") about the use of "type" for this declaration of TIPTCStringArray, which shall extent TStringDynArray with a recordhelper. This error doesn't occur with any compiler prior to Rio. When I leave out the "type" it compiles fine. I'm not an expert on generics and such, so I'm not sure what consequences it has to just leave out the "type" (in contrary to the authors intent according to the comment). Has anyone a better idea what to do here?
-
Hello, Can we use DBExpress on Linux platform? I am getting "E2202 Required package 'dbexpress' not found" error when I set target to linux. There are some .dcp files for other platforms such as win32, win64, osx32 and even for android and ios but I can't find any linux related file :) Also there is a file named bpldbexpress260.so in binlinux64 folder, so it must have been compiled before the ISO file released. Could some files be missing in Delphi 10.3? Can you suggest any solution? PS: I already checked all three December 2018 patches for Delphi 10.3 Rio @Marco Cantu