TWebBrowser crashes the application on Android (Delphi XE5 update2)

How to reproduce: 

Put a TWebBrowser on empty form. On form show navigate to a web page with simple content:

<HTML>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
<BODY>
  <form name="html" method="post">
    <input type="text" name="UserName" class="RE_CS_UserName" id="RE_ID_UserName" value="">
    <button name="StartButton" class="RE_CS_Button_Start" id="RE_ID_StartButton" type="submit">Submit</button>
  </form>
</BODY>
</HTML>

The just enter something into the input field and press GO on the virtual keyboard. The app crashes very ugly without any notice. The debugger has no clue what happened. You can also reproduce this with just the input field and no form or submit button, but it happens randomly. I did this on my "Samsung Galaxy Nexus" and also on a "Prestigio Multipad" tab. Android version are 4.4 for nexus (rooted) and 4.2 for Presigio, with original firmware.

Is there any way to avoid this, because if not then this is a major showstoper for one of my projects and makes Delphi unusable? Or is there a known fix already for this in XE6?
0
Iztok
4/9/2014 3:02:16 PM
embarcadero.delphi.firemonkey 4901 articles. 4 followers. Follow

13 Replies
1778 Views

Similar Articles

[PageSpeed] 8
Get it on Google Play
Get it on Apple App Store

http://docwiki.embarcadero.com/RADStudio/XE5/en/Release_Notes_for_XE5#WebBrowser_Does_Not_Accept_Keyboard_Input_on_Android

You can create an edit control, and send the message to the server without using the web browser

> {quote:title=Iztok Kacin wrote:}{quote}
> How to reproduce: 
> 
> Put a TWebBrowser on empty form. On form show navigate to a web page with simple content:
> 
> <HTML>
>   <head>
>     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
>   </head>
> <BODY>
>   <form name="html" method="post">
>     <input type="text" name="UserName" class="RE_CS_UserName" id="RE_ID_UserName" value="">
>     <button name="StartButton" class="RE_CS_Button_Start" id="RE_ID_StartButton" type="submit">Submit</button>
>   </form>
> </BODY>
> </HTML>
> 
> The just enter something into the input field and press GO on the virtual keyboard. The app crashes very ugly without any notice. The debugger has no clue what happened. You can also reproduce this with just the input field and no form or submit button, but it happens randomly. I did this on my "Samsung Galaxy Nexus" and also on a "Prestigio Multipad" tab. Android version are 4.4 for nexus (rooted) and 4.2 for Presigio, with original firmware.
> 
> Is there any way to avoid this, because if not then this is a major showstoper for one of my projects and makes Delphi unusable? Or is there a known fix already for this in XE6?
0
Borja
4/9/2014 3:57:32 PM
I am aware of that, but this is not a solution in my case. I am doing a mobile client for our large surveying system. And this is a step by step process. For now the authentication and survey selection are done in FMX, but survey itself is running online in TWebBrowser. But even when fully done the surveys were intended to run inside TWebBrowser because there is no way I can match the web rendering in FMX. Also this way I can reuse one rendering engine for both classic web and mobile clients.

There are many hybrid apps in the google play store that do this. I can't see why Delphi implementation has so many bugs in it. The whole approach Delphi has taken with FMX is a good one in my opinion but the product is really half baked. In one month I have encountered just to many bugs for the enterprise producs.

> {quote:title=Borja Serrano wrote:}{quote}
> http://docwiki.embarcadero.com/RADStudio/XE5/en/Release_Notes_for_XE5#WebBrowser_Does_Not_Accept_Keyboard_Input_on_Android
> 
> You can create an edit control, and send the message to the server without using the web browser
> 
> > {quote:title=Iztok Kacin wrote:}{quote}
> > How to reproduce: 
> > 
> > Put a TWebBrowser on empty form. On form show navigate to a web page with simple content:
> > 
> > <HTML>
> >   <head>
> >     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
> >   </head>
> > <BODY>
> >   <form name="html" method="post">
> >     <input type="text" name="UserName" class="RE_CS_UserName" id="RE_ID_UserName" value="">
> >     <button name="StartButton" class="RE_CS_Button_Start" id="RE_ID_StartButton" type="submit">Submit</button>
> >   </form>
> > </BODY>
> > </HTML>
> > 
> > The just enter something into the input field and press GO on the virtual keyboard. The app crashes very ugly without any notice. The debugger has no clue what happened. You can also reproduce this with just the input field and no form or submit button, but it happens randomly. I did this on my "Samsung Galaxy Nexus" and also on a "Prestigio Multipad" tab. Android version are 4.4 for nexus (rooted) and 4.2 for Presigio, with original firmware.
> > 
> > Is there any way to avoid this, because if not then this is a major showstoper for one of my projects and makes Delphi unusable? Or is there a known fix already for this in XE6?
0
Iztok
4/9/2014 4:20:10 PM
XE6 ha been announced, so it should appear soon. You will be able to check if it is resolved wit a trial.

By the way, if you encounter bugs, don't hesitate to report them in Quality Central to be sure that Embarcadero is aware of them.

> {quote:title=Iztok Kacin wrote:}{quote}
> I am aware of that, but this is not a solution in my case. I am doing a mobile client for our large surveying system. And this is a step by step process. For now the authentication and survey selection are done in FMX, but survey itself is running online in TWebBrowser. But even when fully done the surveys were intended to run inside TWebBrowser because there is no way I can match the web rendering in FMX. Also this way I can reuse one rendering engine for both classic web and mobile clients.
> 
> There are many hybrid apps in the google play store that do this. I can't see why Delphi implementation has so many bugs in it. The whole approach Delphi has taken with FMX is a good one in my opinion but the product is really half baked. In one month I have encountered just to many bugs for the enterprise producs.
> 
> > {quote:title=Borja Serrano wrote:}{quote}
> > http://docwiki.embarcadero.com/RADStudio/XE5/en/Release_Notes_for_XE5#WebBrowser_Does_Not_Accept_Keyboard_Input_on_Android
> > 
> > You can create an edit control, and send the message to the server without using the web browser
> > 
> > > {quote:title=Iztok Kacin wrote:}{quote}
> > > How to reproduce: 
> > > 
> > > Put a TWebBrowser on empty form. On form show navigate to a web page with simple content:
> > > 
> > > <HTML>
> > >   <head>
> > >     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
> > >   </head>
> > > <BODY>
> > >   <form name="html" method="post">
> > >     <input type="text" name="UserName" class="RE_CS_UserName" id="RE_ID_UserName" value="">
> > >     <button name="StartButton" class="RE_CS_Button_Start" id="RE_ID_StartButton" type="submit">Submit</button>
> > >   </form>
> > > </BODY>
> > > </HTML>
> > > 
> > > The just enter something into the input field and press GO on the virtual keyboard. The app crashes very ugly without any notice. The debugger has no clue what happened. You can also reproduce this with just the input field and no form or submit button, but it happens randomly. I did this on my "Samsung Galaxy Nexus" and also on a "Prestigio Multipad" tab. Android version are 4.4 for nexus (rooted) and 4.2 for Presigio, with original firmware.
> > > 
> > > Is there any way to avoid this, because if not then this is a major showstoper for one of my projects and makes Delphi unusable? Or is there a known fix already for this in XE6?
0
Borja
4/9/2014 4:26:07 PM
My suggestion is to use a Javascript keyboard inside of the TWebBrowser.

Example library:
http://dmauro.github.io/Keypress/

There is also a third party WebView wrapper here (which may work better or worse):
http://sourceforge.net/projects/dpfdelphiandroid/
0
Eli
4/10/2014 4:48:22 AM
Eli, thanks for this suggestion. I think this may solve my problems (javascript keyboard). I see no other solution at the moment and I have to finish the project.

Thanks again.

Regards
Iztok

> {quote:title=Eli M wrote:}{quote}
> My suggestion is to use a Javascript keyboard inside of the TWebBrowser.
> 
> Example library:
> http://dmauro.github.io/Keypress/
> 
> There is also a third party WebView wrapper here (which may work better or worse):
> http://sourceforge.net/projects/dpfdelphiandroid/
0
Iztok
4/10/2014 6:18:38 AM
Unfortunately the problem is not solved. It still crashed even with the javascript keyboard so it has nothing to do with the virtual keyboard but more with the actual input into the textbox-es. Why this happens is beyond me. Also the same problem is happening with the native android wrapped control found at : http://sourceforge.net/projects/dpfdelphiandroid/

So it has to be a combination of how FMX and Delphi handle the netive wrapped webview. Which is very bad as it means I cannot finish my project. I have no way of resolving this as far as I can see.

> {quote:title=Eli M wrote:}{quote}
> My suggestion is to use a Javascript keyboard inside of the TWebBrowser.
> 
> Example library:
> http://dmauro.github.io/Keypress/
> 
> There is also a third party WebView wrapper here (which may work better or worse):
> http://sourceforge.net/projects/dpfdelphiandroid/
0
Iztok
4/10/2014 3:21:09 PM
What is the error from the crash? Do you have a stacktrace?
0
Eli
4/10/2014 10:31:59 PM
Thats the problem. The debugger does not even realize the thing crashed and just keeps running until ADB figures there is no one on the other end. I also looked at logcat but there is no evidence as why it crashed. Do you maybe know of a way how I could get a trace. Anything would be fine. I cannot even google for it because I do not know where it crashed. The problem is probably that it crashes somewhere in the webview and so the Delphi debugger cannot see that.

I also tried the same page in stock Android browser and an embedded webview app found on the market that is made in native android tools. Both do not have this problem. So I guess this problem is related to how webview is integrated into Delphi and FMX. But what causes the problem is beyond me. But the fact remains that webview is useless for anything more then just viewing the pages which puts me in a very hard position. I have to release a product and I can't because of a fatal bug :(  What is worse I c
annot rewrite it in another tool because I want to share the Delphi code. Otherwise I have to maintain two codebases and that is a no go for me.

Thank for all the help Eli. If you have any more ideas I am all ears :)

> {quote:title=Eli M wrote:}{quote}
> What is the error from the crash? Do you have a stacktrace?

Edited by: Iztok Kacin on Apr 11, 2014 12:39 AM

Edited by: Iztok Kacin on Apr 11, 2014 12:40 AM

Edited by: Iztok Kacin on Apr 11, 2014 12:40 AM
0
Iztok
4/11/2014 7:40:38 AM
I managed to get a stack trace througn the logcat. I am posting the relavant parts here:

D/AndroidRuntime(14100): Shutting down VM
W/dalvikvm(14100): threadid=1: thread exiting with uncaught exception (group=0x40d24930)
W/WindowManager( 4658): Attempted to add window with token that is a sub-window: android.os.BinderProxy@41fdc420.  Aborting.
E/AndroidRuntime(14100): FATAL EXCEPTION: main
E/AndroidRuntime(14100): android.view.WindowManager$BadTokenException: Unable to add window -- token android.view.ViewRootImpl$W@415b4338 is
 not valid; is your activity running?
E/AndroidRuntime(14100):        at android.view.ViewRootImpl.setView(ViewRootImpl.java:582)
E/AndroidRuntime(14100):        at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:246)
E/AndroidRuntime(14100):        at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:69)
E/AndroidRuntime(14100):        at android.widget.PopupWindow.invokePopup(PopupWindow.java:993)
E/AndroidRuntime(14100):        at android.widget.PopupWindow.showAsDropDown(PopupWindow.java:899)
E/AndroidRuntime(14100):        at android.widget.ListPopupWindow.show(ListPopupWindow.java:603)
E/AndroidRuntime(14100):        at android.webkit.AutoCompletePopup.onFilterComplete(AutoCompletePopup.java:226)
E/AndroidRuntime(14100):        at android.widget.Filter$ResultsHandler.handleMessage(Filter.java:285)
E/AndroidRuntime(14100):        at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(14100):        at android.os.Looper.loop(Looper.java:137)
E/AndroidRuntime(14100):        at android.app.ActivityThread.main(ActivityThread.java:5041)
E/AndroidRuntime(14100):        at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(14100):        at java.lang.reflect.Method.invoke(Method.java:511)
E/AndroidRuntime(14100):        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
E/AndroidRuntime(14100):        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
E/AndroidRuntime(14100):        at dalvik.system.NativeStart.main(Native Method)
W/ActivityManager( 4658):   Force finishing activity com.embarcadero.Project1/com.embarcadero.firemonkey.FMXNativeActivity
W/ActivityManager( 4658): Activity pause timeout for ActivityRecord{417f4050 u0 com.embarcadero.Project1/com.embarcadero.firemonkey.FMXNativ
eActivity}
I/qtaguid ( 4658): Failed write_ctrl(s 1 10064) res=-1 errno=1
W/NetworkManagementSocketTagger( 4658): setKernelCountSet(10064, 1) failed with errno -1
I/ActivityManager( 4658): No longer want com.google.android.talk (pid 13509): empty #17
I/qtaguid ( 4658): Failed write_ctrl(s 0 10096) res=-1 errno=1
W/NetworkManagementSocketTagger( 4658): setKernelCountSet(10096, 0) failed with errno -1
W/InputConnectionWrapper.ICC(27193): Timed out waiting on IInputContextCallback
D/AudioHardware( 4434): AudioHardware pcm playback is going to standby.
D/AudioHardware( 4434): closePcmOut_l() mPcmOpenCnt: 1
W/InputConnectionWrapper.ICC(27193): Timed out waiting on IInputContextCallback
W/InputConnectionWrapper.ICC(27193): Timed out waiting on IInputContextCallback
I/Choreographer(27193): Skipped 273 frames!  The application may be doing too much work on its main thread.

> {quote:title=Eli M wrote:}{quote}
> What is the error from the crash? Do you have a stacktrace?
0
Iztok
4/11/2014 7:53:28 AM
Could be related:

http://stackoverflow.com/questions/18497342/app-crashing-after-pressing-on-login-in-a-webview

I will have a look at the FMX code.

> {quote:title=Eli M wrote:}{quote}
> What is the error from the crash? Do you have a stacktrace?

Edited by: Iztok Kacin on Apr 11, 2014 1:31 AM

Edited by: Iztok Kacin on Apr 11, 2014 1:31 AM
0
Iztok
4/11/2014 8:31:45 AM
It seems that the code is crashing when the autocomplete is shown for the textbox (input field) on the web page.

*EDIT*:

Comfirmed the autocomplete dropdown is the cause of the crash. When i disabled autocomplete on all input fields the problem went away. This is the popup that you can see in the stack trace. Now I only hope that this was the only place where this error manifests itself.

> {quote:title=Iztok Kacin wrote:}{quote}
> Could be related:
> 
> http://stackoverflow.com/questions/18497342/app-crashing-after-pressing-on-login-in-a-webview
> 
> I will have a look at the FMX code.
> 
> > {quote:title=Eli M wrote:}{quote}
> > What is the error from the crash? Do you have a stacktrace?
> 
> Edited by: Iztok Kacin on Apr 11, 2014 1:31 AM
> 
> Edited by: Iztok Kacin on Apr 11, 2014 1:31 AM

Edited by: Iztok Kacin on Apr 11, 2014 3:34 AM
0
Iztok
4/11/2014 10:36:24 AM
Yeah that was going to be my suggestion yesterday. If input fields are causing a crash switch to editable divs somehow.

http://blog.thinkingstiff.com/2012/01/22/how-to-make-a-contenteditable-look-like-an-element-or/
0
Eli
4/11/2014 2:35:20 PM
> {quote:title=Eli M wrote:}{quote}
> Yeah that was going to be my suggestion yesterday. If input fields are causing a crash switch to editable divs somehow.
> 
> http://blog.thinkingstiff.com/2012/01/22/how-to-make-a-contenteditable-look-like-an-element-or/

Its not just the input. I can also confirm that classic selection (combo box) does not work either. It gets shown the first time, but then I cannot see it anymore when I click on the combo box. At least there is no crash. What seems is that both thiss issues happen because Android WebView uses native controls for some elements like combobox dropdown list and autocomplete list. Basically it uses popups and there seems to be some issue when they are created. It is isolated to Delphi wrapper of WebView as fa
r as I tested because stock browser and pure java application with WebView both work fine.

Well now at least I know how to avoid it. Thanks for your help.
0
Iztok
4/11/2014 3:34:34 PM
Reply:

Similar Artilces:

[SOLVED] Delphi XE5
Hello, I have a very simple program that works perfectly. But if I add a TIdTcpClient component on my form, with no change in the properties or event, just add it, then application crash when exiting with the hardware return button. What is wrong ? thank you Franck {code} unit FormTestModbusXE; interface uses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.TabControl, FMX.StdCtrls, FMX.Edit, FMX.Layouts, FMX.ListBox, IdBaseComponent, IdComponent, IdTCPConnection, Id...

Delphi XE5(U2) Firemonkey application crashes at startup on OSX on new mac [Edit]
Hello, I'm trying to deploy my first application on a mac platform. I have successfully built the application on my dev mac and run it through PAServer and now I would like to deploy it on a different MacOS. I tried to drag and drop the application .app file into the application folder of the new Mac. The app shows up but as soon as I start it, I got a message telling me that it stopped unexpectedly. I'm really lost here: With windows, I'd have no problem finding out what is wrong but, with a Mac, I haven't got a clue what I did wrong. The application doesn't do an...

How to sync Android to Delphi XE5 application
Hello people, I have a doubt, I have developed a FireMonkey Android application where I need sync my app data to a Delphi XE5 application. Basicly I created a .txt file and I sent to my computer using a FTP connection, but this doesn't works fine. I found two problems with this method, 1) It works really bad with 3G connection, less than 50% of attemps works correctly to sync data of my Android to a PC 2) Confirmations about sync (sent data, received data) are no reliable So, I would like to know if there another way to sync data without using .txt files and FTP connection, and ...

Delphi XE5 - Android
Hello. I have a mobile phone that have this hardware: Processor ARMv7 rev 9 (v71) 849Mhz 445MB ram. Using Android OS v 4.0.4 (Ice Cream Sandwich) I created a FireMonkey Mobile project, then, i put some edits and labels into my form and just run it. (I already have did the configs to SDK/NDK) My application compile ok, deploy ok, install ok, run ok. But when i see it running on the mobile device, i only see blank screen, i can click on the edits but it is all invisible, it works and show me the keyboard but i can't see anything , its all blank. I need help with this,...

android service application on Delphi XE5 [Edit]
Is it possible to develop "android service application(backround)" on delphi xe5 ? if possible, how to ? Thanks. Edited by: caner aytac on Sep 20, 2013 3:40 AM Edited by: caner aytac on Sep 20, 2013 3:45 AM ...

Delphi XE5 TWebBrowser Problem on Android [Edit]
I have write 4 samples code: 1) paginaweb:='file://'+pathpdf+'prova.pdf'; webbrowser1.URL:=paginaweb; 2) paginaweb:='http://www.ufficiotecnicogecom.com/Volantini/prova.pdf'; webbrowser1.URL:=paginaweb; 3) have used webbrowser1.Navigate(paginaweb); 4) paginaweb := 'http://www.youtube.com/user/SisaCentroSudGecom'; webbrowser1.Navigate(paginaweb); or webbrowser1.URL:=paginaweb; webbroser1 is in a mobile form. All not work on Android but work fine on iOS, the case of youtube url load page but still stuck on loading vide...

Delphi Android XE5: Applications only white screen displayed
For testing I made a very simple application for android: A button and label It works successfully on smartphone: Samsung Galaxy Mini 3, Samsung Note and Huawei Ascend P1. But on my mobile: Huawei Ascend P6 and my wife's cell phone: Huawei Honor 2, mobile displays only completely blank screen! Both smartphones have the same *quad-core processor* with *Huawei K3V2* which ADB command shows: Processor: *ARMv7* Processor rev 0 (v7l) processor: 0 BogoMIPS: 2789.00 processor: 1 BogoMIPS: 2789.00 processor: 2 BogoMIPS: 2789.00 processor: 3 BogoMIPS: 2789.00 Feature...

SEPA components for Delphi with Source Code (Delphi 5
Hi all, in the european union change next year the Bankingformat to the SEPA Format. All peoples and companies must change the bankingssoftware and the costumer data form acountnummers in the new IBAN and BIC numbers. See: http://www.arma-it.de/shop/artikelueber.php?wgruppeid=211&wgruppe_offen=211 Functions: - generate SEPA XML'S - Calc IBAN - BIC Database (DE,AT and CH) Questions: vertrieb@arma-it.de PS: Bankinssoftware for Develpoers (Germany only) http://www.arma-it.de/shop/artikelueber.php?wgruppeid=212&wgruppe_offen=212 El 26/10/13 21:38, A...

Delphi XE5 can not build Android application. Speed is very very low???
My computer: SONYVAIO, RAM 4 GB , CPU Intel core 2 duo 2 GHz, OS Windows Vista home (sp2) My test application have only 1 button, 1 edit, 1 chat with any value (no connetion database). I build/run it into simulator very low. It spend about 9 minutes. How can i get higher speed? Tuan Nguyen wrote: > My computer: SONYVAIO, RAM 4 GB , CPU Intel core 2 duo 2 GHz, OS Windows Vista home (sp2) > > My test application have only 1 button, 1 edit, 1 chat with any value (no connetion database). I build/run it into simulator very low. It spend about 9 minutes. > > How can i g...

Delphi XE5 Update 2
I should have 8 options. I see just the first 2: Blank Application and 3d Application. http://docwiki.embarcadero.com/RADStudio/XE5/en/FireMonkey_Mobile_Application_Templates How can I get the others to appear? Kyle Miller wrote: > I should have 8 options. I see just the first 2: Blank Application and 3d Application. > http://docwiki.embarcadero.com/RADStudio/XE5/en/FireMonkey_Mobile_Application_Templates > > How can I get the others to appear? > I've seen this happen for C++, but not for Delphi. If you launch with the -r option I expect they'll be there. -...

Converting from Delphi 2005 to Delphi XE5
I have developed a number of Windows applications in Delphi 2005. I recently purchased Delphi XE5. I have started by trying to compile an existing 2005 application. I am getting a 7 errors about FMXTeeEditor. [dcc32 Error] E1026 File not found: 'FMXTee.Editor.Brush.fmx' Not able to find a solution to this. Any help greatly appreciated. Did you open every form before compiling? The old forms get updated with new properties when they are opened. I would make a copy of the old project before doing any of this. maybe you have links to the older tchart files....i.e its not usi...

Does Delphi XE5 on Android work with the Android emulator? [Edit]
I find that even a hello-world app exactly like the one that David I outlines (add a button, one line of code, set button text) will not run on the Android Emulator configured out of the box. First, after installing the Rad Studio XE5 trial, I followed David I's steps exactly, and the emulator would not even start. Then I clicked Android SDK manager, updated it, and clicked run-without-debugging. It asked me if I wanted to start the emulator this time so I did. Now the Firemonkey app will not start up the emulator, and while it does appear to start debugging, the emulator scree...

Android application and Delphi
Hi, I'm looking for an example to build an Android application with Delphi XE2 Professional. Is it possible ? Are they some tutorials ? Regards Marc Marc foix wrote: > Is it possible ? Not a native application, no. Not yet, anyway. -- Nick Hodges -- Product Development Manager Gateway Ticketing Systems http://www.gatewayticketing.com If you want something Delphi-Like you can use RemObjects Oxygene for JAVA. It already has a Visual Studio Shell based integration with the Android SDK. It is working and you can code in a Delphi dialect. ...

MOVED: random (opendialog.onhint) crash ,delphi (was: random (opendialog.onhint) crash ,delphi)
On Sat, 24 Jan 2009 09:23:32 -0800, arthur gibbs wrote: Moved to delphi.vcl.components.using https://forums.codegear.com/thread.jspa?threadID=10897 -- Marc Rohloff [TeamB] marc -at- marc rohloff -dot- com ...

Web resources about - TWebBrowser crashes the application on Android (Delphi XE5 update2) - embarcadero.delphi.firemonkey

Getting TWebBrowser on iOS to zoom
... := TUIWebView.Create; FWebView.setScalesPageToFit(true); // Add this line of code FDelegate := TiOSWebViewDelegate.Create; FDelegate.SetWebBrowser(Self); ...

Embarcadero AppMethod: another route to cross-platform mobile, now with C++ support
Embarcadero has updated AppMethod, its IDE for cross-platform mobile and desktop applications. The IDE now supports C++, and as a special offer, ...

Resources last updated: 1/17/2016 10:56:16 PM