App crash when running jMsSqlJDBCConnection.ExecuteQuery inside jAsyncTask lazarus / 43-Android ---------------------------------------------------------------------- Thyphoon · 2020-04-10 01:11 When I use jMsSqlJDBCConnection.ExecuteQuery (it doesnt matters the size of the query) inside a jAsyncTask the aplication crashed, in the logcat I can see this: Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i E/JavaBinder(  795): !!! FAILED BINDER TRANSACTION !!!W/ActivityManager(  795): Exception thrown during pauseW/ActivityManager(  795): android.os.TransactionTooLargeExceptionW/ActivityManager(  795):     at android.os.BinderProxy.transactNative(Native Method)W/ActivityManager(  795):       at android.os.BinderProxy.transact(Binder.java:496)W/ActivityManager(  795):       at android.app.ApplicationThreadProxy.schedulePauseActivi ty(ApplicationThreadNative.java:932)W/ActivityManager(  795):       at com.android.server.am.ActivityStack.startPausingLocked(ActivityStack.j ava:1336)W/ActivityManager(  795):       at com.android.server.am.Acti vityStack.finishActivityLocked(ActivityStack.java:4538)W/ActivityManag er(  795):       at com.android.server.am.ActivityStack.finishTopRunni ngActivityLocked(ActivityStack.java:4239)W/ActivityManager(  795):     at com.android.server.am.ActivityStackSupervisor.finishTopRunningAct ivityLocked(ActivityStackSupervisor.java:4726)W/ActivityManager(  795):       at com.android.server.am.ActivityManagerService.handleApp CrashLocked(ActivityManagerService.java:16947)W/ActivityManager(  795):       at com.android.server.am.ActivityManagerService.makeAppCr ashingLocked(ActivityManagerService.java:16820)W/ActivityManager(  795):       at com.android.server.am.ActivityManagerService.crashAppl ication(ActivityManagerService.java:17592)W/ActivityManager(  795):     at com.android.server.am.ActivityManagerService.handleApplicationCr ashInner(ActivityManagerService.java:17096)W/ActivityManager(  795):     at com.android.server.am.NativeCrashListener$NativeCrashReporter.r un(NativeCrashListener.java:86) If I run the query in the main app it works perfectly but the app seems stuck until it finish. Can someone help me? ---------------------------------------------------------------------- jmpessoa · 2020-04-10 02:54 We need a new buid-in  "ExecuteQueryAsync"   method!  I will try some  implementation..... ---------------------------------------------------------------------- jmpessoa · 2020-04-10 03:10 Yes! already exists an "ExecuteQueryAsync"  !!!!  You are lucky! ---------------------------------------------------------------------- Thyphoon · 2020-04-10 03:52 Did you already implement it?? jesus thats really fast! I have to update the entire package right? ---------------------------------------------------------------------- jmpessoa · 2020-04-10 16:52 QuoteI have to update the entire package right? I think, no...  this method already exists ..... ---------------------------------------------------------------------- Thyphoon · 2020-04-10 18:33 for real?? mmmmm let me see.... I dont find it, anywhere in unit mssqljdbcconnection, where is it declared? ---------------------------------------------------------------------- jmpessoa · 2020-04-10 18:51 Sorry...  I will updated it from my system.... [wait...] ---------------------------------------------------------------------- Thyphoon · 2020-04-10 22:23 Quote from: jmpessoa on April 10, 2020, 08:51:20 pm Sorry...  I will updated it from my system.... [wait...] Thank you! Ill wait then. ---------------------------------------------------------------------- jmpessoa · 2020-04-11 01:18 Done! Modified Files: "...\lazandroidmodulewizard\android_bridges" mssqljdbcconnection.pas laz_and_controls_events.pas "...\lazandroidmodulewizard\android_wizard\smartdesigner\java jMsSqlJDBCConnection.java jMsSqlJDBCConnection.native ---------------------------------------------------------------------- Thyphoon · 2020-04-12 02:01 Sorry I cant get it to work !_! 1 - How can I check if the query finished? 2 - After I call ExecuteQueryAsync how can I recover the query result? ---------------------------------------------------------------------- jmpessoa · 2020-04-12 02:14 Handling the component events.... [messageStatus] ---------------------------------------------------------------------- Thyphoon · 2020-04-12 13:01 sorry Iam dumb, can you provide an example? Are you talking about: procedure OnExecuteQueryAsync(Sender:TObject;messageStatus:string); if so it si correct to do Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i procedure T Main_Menu.OnExecuteQueryAsync(Sender:TObject;messageStatus:string);beg in  ShowMessage('it works!');  message:=messageStatus;end; in my app? please Iam really frustated about this. I think there is something missing, I can find this events published Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i     property OnExecuteQueryAsync: TOnMsSqlJDBCConnectionExecuteQueryAsync read FOnExecuteQueryAsync write FOnExecuteQueryAsync;    property OnOpenAsync: TOnMsSqlJDBCConnectionOpenAsync read FOnOpenAsync write FOnOpenAsync;    property OnExecuteUpdateAsync: TOnMsSqlJDBCConnectionExecuteUpdateAsync read FOnExecuteUpdateAsync write FOnExecuteUpdateAsync; but they are not available in the visual object, and I try to handle OnExecuteQueryAsync, but it seems it is not called at all... also when doing  jMsSqlJDBCConnection1.ExecuteQueryAsync('Query here') I dont see anything logged in logcat. ---------------------------------------------------------------------- jmpessoa · 2020-04-13 18:16 Quotebut they are not available in the visual object, and I try to handle OnExecuteQueryAsync, but it seems it is not called at all... 1) re-install de package  "tfpandroidbridge_pack.lpk" 2) "Run" --> "Clean up and Build "    to clear/reset your project.... The param "messageStatus"  contains your data [or some message error....] ---------------------------------------------------------------------- Thyphoon · 2020-04-14 01:50 Sorry but still no go: I place this in a button onclic procedure: Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i procedure TMain_Menu.jButton7Click(Sender: TObject);begin     //jAsyncTask1.Execute;   message:='';   jMsSqlJDBCConnection1.ServerIP:='localhost';   jMsSqlJDBCConnection1.UserName:='sa';   jMsSqlJDBCConnection1.Password:='password';   jMsSqlJDBCConnection1.DatabaseName:='database';   if jMsSqlJDBCConnection1.Open() then   begin      LogMessage('Connecion openned');      jMsSqlJDBCConnection1.ExecuteQueryAsync('SELECT COUNT(*) FROM tarCustomer');      LogMessage('Asyc eXecuted');      //startProgress:= 0;  //out param !      LogMessage('Dialog Start');    process:=False;      //jDialogProgress1.Start; //or Show   endend; message is a global string var. and I put this in the OnExecuteQueryAsync procedure of jMsSqlJDBCConnection1 Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i procedure TMain_Menu.jMsSqlJDBCConnection1ExecuteQueryAsync(Sender: TObject;  messageStatus: string);begin  message:=messageStatus;  LogMessage('Runned event!, message result='+messageStatus);end;   but nothing happens, in logcat I see Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i I/Main_Menu(20966): Connecion opennedI/Main_Menu(20966): Asyc eXecutedI/Main_Menu(20966): Dialog StartI/Choreographer(20966): Skipped 40 frames!  The application may be doing too much work on its main thread. but the message var never get the messageStatus value and "'Runned event!, message result=" never get logged in logcat. It is as if the event never get fired, Iam doing something wrong? ---------------------------------------------------------------------- jmpessoa · 2020-04-14 04:55 Sorry... I will try some fix! [in fact, I don't have a server installed here ... so, I will try to check for any logic error in java code] ---------------------------------------------------------------------- Thyphoon · 2020-04-14 14:48 Sorry, it was a error on my end, somehow my project was compiling against a old version of your component, I had to do a cleanup of the proyect, and now it is working allright! Thank you! ---------------------------------------------------------------------- jmpessoa · 2020-04-14 20:24 Nice! Good Work!