Jump to content

andyhill

uniGUI Subscriber
  • Posts

    1266
  • Joined

  • Last visited

  • Days Won

    6

Everything posted by andyhill

  1. Persons (TUnimSelect) contains 300 Items, before DropDown we want to seed the selected/focused item using SelectedIdx and SelectedText Persons.ItemIndex:= SelectedIdx; // Does Nothing, Always Positioned at First Item Persons.Text:= SelectedText; // Makes Bold In DropDownTumbler List but not focused Persons.Invalidate; // Does Nothing UniSession.AddJS(MainmForm.Persons.JSName+'.setValue('+Chr(39)+SelectedText+Chr(39)+')'); // Does Nothing Persons.JSInterface.JSCode(#1'.setValue=new "'+SelectedText+'";'); // Errors UniSession.Synchronize; Persons.JSInterface.JSCall('expand', []); // Opens Always Positioned at First Item
  2. I have a TUnimSelect (Persons) that I want to PreSelect the Focused Item in code before DropDown. My code below makes bold the matching item but the Tumblers do not focus this item with Persons, Persons.JSInterface do begin ItemIndex:= Idx; // This Makes Item Bold but not selected if Idx > -1 then begin // Makes No Difference Text:= SelectedText; Refresh; UniSession.Synchronize; end; JSCall('expand', []); end;
  3. Kind of you to share. Some food for thought to make this a mega example:- Footer: Rec 1/340, Paging (First, PrevPage, NextPage, LastPage), Summary Columns etc. Grouping Options Parent/Child Nested (expand/collapse) Grids etc. Record Editing Form (Like DevExpress [auto generate from grid row data])
  4. Sherzod, If the Session has timed out and we catch it at MainModule.OnSessionTimeOut event, it is already too late as all of the session critical variables are now defunct (void) !
  5. This has been a problem for some time and is amplified (worse) on iOS. See my older post "iPhone iOS 13 Web Page Session Timeouts"
  6. I have wrestled with this problem for some time now with what appears little help or interest from UniGUI. We pay good money on a yearly subscription (many years now) to use UniGUI and I believe that UniGUI owes it to it's customers to get a modern iPhone for it's own testing. This may even be a Sencha problem, has Sencha been advised by UniGUI ? I see no real effort to solve this problem. I have set all my timing values in code (remember this all worked flawlessly until iOS 13):- ServerModule SessionTimeout:= 1000 * 60 * 60 * 3; // 10,800,000 = 3hrs AjaxTimeout:= 1000 * 60 * 3; // 180,000 = 3mins Should I make this bigger ? HTTPServerOptions.MaxAliveSecs:= (60 * 60); // 1hr HTTPServerOptions.MaxPoolSize:= 600; HTTPServerOptions.DisableKeepAliveInDebugMode:= True; // UseGlobalImageCache "It instructs the uniGUI server to use the global image cache to improve image access performance" what happens when set to false, please explain in detail ? MainModule EnableSynchronousOperations:= True; TerminateOnBrowserClose:= False; iOS Server Timing ON Blank anchor target implies rel=noopener OFF
  7. Yes, in the foreground while one is using it (not idle), it is as though there is an iOS set timeout irrespective of what the Server says and irrespective of activity. This is urgent.
  8. "Inavlid Session or Session TimeOut" Here are my Server Time outs UniServerModule.SessionTimeout:= 1000 * 60 * 60 * 3; // 10,800,000 = 3hrs UniServerModule.AjaxTimeout:= 1000 * 60 * 3; // 180,000 = 3mins As stated above I turned SERVER TIMING ON All to no avail, could it be some sort of cache timing issue ? iOS 13.x introduced some sort of new timeout, here is what Apple says if one has problems which does not fix the problem, it appears to be some sort of UniGUI or Sencha problem:- If Safari displays a blank page or quits on your iPhone, iPad, or iPod touch If you can't load a website or webpage, or Safari quits unexpectedly, follow these steps. Connect to a different network Try to load a website, like www.apple.com, using cellular data. If you don't have cellular data, try connecting to a different Wi-Fi network and then try loading the website. Restart your device Turn off your device and turn it on again. Clear website data You can clear website data occasionally to improve Safari performance. If you still need help, follow these steps: Go to Settings > Safari. Tap Clear History and Website data. Tap Clear History and Data to confirm. Get more help If the issue continues and only effects a certain website or webpage, contact the website developer for more help.
  9. As this is critical, I have been trying to come up with a work around. Please comment on below which I set in the UniGUIServerModuleBeforeInit event. ////////////////////////////////////////////////////////////////////////////// // MaxAliveSecs: This property determines the maximum number of // seconds a connection is allowed to be alive. Setting this property to zero // will disable above mechanism. In this case, connections will naturally drop // when client releases them or the OS detects a long timeout condition. HTTPServerOptions.MaxAliveSecs:= 0; // Default is 120 HTTPServerOptions.MaxPoolSize:= 600; // Default is 200 HTTPServerOptions.DisableKeepAliveInDebugMode:= True; // Default is True (simplifies debugging)
  10. Farshad, I notified you of a serious issue with iOS 13.x and Mobile UniGUI that causes webapps to crash. The same code runs flawlessly on Desktop and Android and pre iOS 13. It looks like a caching issue. You have remained silent. Please advise ASAP that you are aware of this bug and that an update is coming to fix this shortly.
  11. Mobile Select Selection (text): When DropDown Is Initiated the Select Does Not PreSelect the Current Item (text) In Items List (sync) My attempt below fails, please advise. procedure TEventEditmForm.UnimSelect2DropDown(Sender: TObject); var s: String; i, Idx: Integer; begin Idx:= -1; // Current Selection s:= TUnimSelect(Sender).Text; // Walk Items for i:= 0 to TUnimSelect(Sender).Items.Count-1 do begin if TUnimSelect(Sender).Items = s then begin Idx:= i; Break; end; end; // Select TUnimSelect(Sender).ItemIndex:= Idx; UniSession.Synchronize(); end;
  12. Farshad, Server Timing ON helps but there is still some sort of Caching Issue with iOS 13.n - please advise ASAP.
  13. I have found that Apple with their iOS 13 Update have turned on an experimental feature "Auto-Session-Timeout" (Server Timing OFF) which means everytime you send Safari to the Background -or- your iPhone to Sleep the current Safari Web Session is terminated ignoring all the timing requests produced by your Server Code - very annoying. Work around for now, turn Server Timing ON, this no doubt will change in the future.
  14. I have a Windows Surface 2 H/W (Edge or Chrome S/W) Desktop DblClick Issue (fails) on my Desktop WebApp that works on all other Windows PC's except Surface. Please advise. Further research shows that if the WebApp is on LAN/WAN and executed in a browser that is not the server PC we have the same problem ? In summary, Browser CtrlKey, DblClick etc. works only on PC running WebApp, therefore we need Javascript Code to see the KeyBoard and Mouse events (TextEdit/NumEdit etc.) when WebApp is not running on Browser PC.
  15. In fairness to the UniGUI Team, I have used UniGUI Mobile for several years (3yrs now) choosing to write Mobile WebApps that can upscale to Desktop (rather than downscale to phone). True many years ago we had some green issues but every release just gets better and better. My apps are used by many and are working well for me. All of my projects run as Stand Alone Server exe's with ElevateDB SQL as the backend.
  16. Gerhard, Are we any closer with Mobile Themes ?
  17. User enters data into text editor, lets say personal name. As it is the web, strangers can use swear words or use bad words claiming it is their name. I want to (when Process Button is clicked) verify by some sort of web service if it is clean (void of nasties). If clean then process, if vulgar then reject. Something like this old get user IP, a web service to approve it (it would require I submit the user name). UniSession.AddJS('$.getJSON(''//freegeoip.net/json/?callback=?'', function(data) '+ '{ ' + ' ajaxRequest(' + Self.WebForm.JSName + ', "ClientIPAddr", ["ip="+data.ip]);'+ '} );'); NOTE: I do not want to verify this locally, this would require me to keep a vulgar list on my PC and I do not want to do this.
  18. I am after a Profanity Filter Check via a URL (I do not want to store a local profanity list on my Server). I would like to use UniGUI to call a Profanity Checking Service and advise if the word is Clean via a Call Back. If anyone has done this would they please show me how - thanks in advance.
  19. Felipe, Mobile (I will assume iOS/Safari in this case) requires a https Digital Certificate off memory.
  20. No, as I said, it had stopped working many many updates ago, out of site, out of mind, and I totally forgot all about it. Where it all came unstuck for me was with DevExpress' IDE Licensing check code.
  21. My recent UniGUI update took out my Tokyo 10.2.2 IDE with no way for me to track down why. With the help of Farshad (thank you Farshad) we tracked down the conflict, that of DevExpress Libraries, but could not explain why, as well as, why now with 6-7-0 ? Numerous unistall/reinstalls of both DevExpress and UniGUI finally exposed the culprit. A long time ago I had downloaded and installed a PropertyEditor for TUniClientEvents which I procured from this forum which had consequently stopped working many updates ago, hence far from my mind, in fact I just plain forgot about it. Incidentally I appreciate the charitableness of the author for the PropertyEditor and it was my fault for not recompiling it with the latest UniGUI but as I was in a catch 22, that being Delphi would crash to the metal with no way of knowing why, I could never had recompiled it through the IDE anyway. Now with the PropertyEditor removed we are running once again. I hope this helps. Andy
  22. I asked this question via a support ticket years ago with no response even after further prompting. Todate, as a very crude and not ideal work around, I use "User Access Credentials" stored on my back end DB Server with corresponding encrypted tokens stored as local client Cookies. Yes, I know Cookies can be blown away or disabled. I would love a real solution "Ext.device.Device.uuid"
×
×
  • Create New...