Jump to content

ZigZig

uniGUI Subscriber
  • Posts

    352
  • Joined

  • Last visited

  • Days Won

    28

Everything posted by ZigZig

  1. ExtJS requirements can be found here: http://docs.sencha.com/extjs/6.2.0-classic/guides/getting_started/extjs_faq.html I don't think that you need a core i5 on client side (I tested several uniGUI apps on my old Surface RT - with ARM processor : everything was fine).
  2. Your "solution" was based on Java plugin, which is no longer supported by Chrome, Firefox, Safari and MS Edge. According to https://qz.io/support/, it needs now a desktop application to be installed on every desktop/client computer : We currently use demo.qz.io, which works with both QZ-Tray(Desktop app) and QZ-Print(Java Applet). The applet is blocked in Chrome now, so QZ-Tray will be our NPAPI-free solution moving forward. So Zilav is totally right: it is impossible with only uniGUI, you'll need to install something more on every client computer, to make your wish possible. Zilav is considering that you can do this "something more" by yourself, you seems to prefer an expensive "out-of-the-box" solution. That is your choice.
  3. If I understand your need, you can try something like this (I didn't test it but it should work): function teste: boolean; begin result: = false; UniSession.myModalResult:=mrNone;//myModalResult is a public property that you must define in UniSession. MessageDlg ('My question?' MtConfirmation, mbYesNo, procedure (Sender: TComponent; Res: Integer) begin Res case of mrYes: begin // Run code is there any chance of returning to the function? // yes, by using a session property end; end; UniSession.MyModalResult:=Res; end ); While UniSession.MyModalResult=mrNone do begin //do nothing end; //The following code will not be executed until MessageDlg get a modal result // ie : if UniSession.MyModalResult=mrOK then ... end; But IMHO, it is not a good practice.
  4. ZigZig

    Happy Eid

    Eid Mubarak
  5. Your solution prints a document from Adobe Acrobat Reader, not from a Web page itself. So it requires 3 things : - You must be able to produce a pdf document with embedded AcroJS code into your pdf (which is not standard Javascript, and not standard pdf document ; I guess that you must buy Adobe Acrobat to achieve such a thing) - Your client must install Adobe Acrobat Reader and define it as default pdf viewer - Your client must allow scripts to be executed from a pdf page by defining properly Acrobat security settings So this solution requires a third-party component (Adobe Acrobat Reader) just like other solutions previously proposed (ActiveX or Firefox plugin). It doesn't allow to print silently without a plugin, there is no universal solution because it is just not possible. Internet Browsers strictly forbid direct silent printing. And you newest solution needs a Java plugin, which is another plugin (be aware that Java applet are not supported anymore by Chrome and Firefox) + you must place local libraries on machine of your Customers. This matter has nothing to do with uniGUI: it is impossible to silently print from a web page without a plugin.
  6. There is no simple way to achieve something that is not possible on a Web application. No, it can't. There is no Web framework that can do this, because there is no Web browser that allows such a thing.
  7. Otherwise, you can take a look at this topic: http://stackoverflow.com/questions/945691/automatically-print-image-from-website AttendStar created a free add-on that suppresses the dialog box and removes all headers and footers for most versions of Firefox. https://addons.mozilla.org/en-US/firefox/addon/attendprint/ and The only solution to avoid print dialog that I found was creating a variable on Mozilla Firefox to set auto-print. Maybe is not the best solution if you need to use other browser, but in my case, I only need to print a report automatically and it works: 1- Open Firefox and type "about:config" in the address bar 2- Right click on any preference and select "New" > "Boolean" 3- Add a variable called "print.always_print_silent" with "true" value 4- Restart Firefox. Hope help you! It will work only with Firefox, but I guess it is better than nothing for your business case.
  8. This (very old) solution is based on ActiveX, just like Delphi Developer explained in his first answer. So yes, it is possible with uniGUI, but that is not a good idea: it will work only on Internet Explorer, and user must accept unsigned ActiveX contrôle and set his security settings to lowest values. Otherwise, there is no way to print directly from a Web page without an explicit action of the user. That is not a limitation of uniGUI, that is the way Internet is.
  9. Thanks Abaksoft. I do not think it's good news. Basically : - Embarcadero will work with subcontractors rather than employees (which are currently dismissed) - Embarcadero will develop fewer tools than before, but integrate third-party tools - Embarcadero will invest its money in advertising rather than in R&D
  10. Embarcadero closes down their spanish R&D office putting some 80 people on the street and diminishing the total Delphi R&D team. Former Chief Scientist Allen Bauer commented: The Spain office had taken on most of the IDE, Delphi RTL, GetIT, Installer, some DB, Bluetooth components, IoT, QA, and other miscellaneous tasks. They were by-far the largest single group working on RAD Studio. They were all a wonderful, dedicated, excited group of folks. They were eager to learn and truly enjoyed their jobs. I am deeply saddened by this development. (https://wiert.me/2016/06/24/embarcadero-closing-down-their-spanish-office/)
  11. You must give a Name to your component (UniDateTimePicker1.Name := ...)
  12. A solution (maybe among others...) : 1. Don't use 'window.destroy' function (your ajaxRequest will never be thrown to the server), prefer 'window.hide'. 2. Set the "FreeOnClose" property of your Form to False. By doing this, when you close your form, 'window.hide' is executed (otherwise, it won't). 3. replace 'window.getWidth()' by 'sender.getWidth()' in you ajaxRequest (which has to be written in 'window.hide' function) : ajaxRequest(sender, 'WindowWidth', ['Width='+sender.getWidth()] ); ​Hope it will help!
  13. ZigZig

    unidbgrid

    Demoes are in "Demo" folder when you install uniGUI : C:\Program Files (x86)\FMSoft\Framework\uniGUI\Demos.
  14. ZigZig

    browsing soom

    Maybe! Could you please test that property and tell us if it works?
  15. ZigZig

    browsing soom

    Hello jahlxx, It seems that ExtJS used to have an issue with zoom on mobile on older versions than 5.5. (see https://www.sencha.com/forum/showthread.php?287219) I don't know if version 4.2 (as embedded in uniGUI) contains this bug. Anyway, you can take a look at these solutions (which depend on your mobile OS) : For iOS and Android: try to customize the "content" meta in your head section (meta name="viewport" content="..."). Basically, remove "minimum-scale", "maximum-scale" and "user-scalable", just keep this content : <meta name="viewport" content="width=device-width, initial-scale=1.0"> For Windows devices, you have to check your CSS, the prefixed CSS rule "@-ms-viewport" must not contain a "zoom" property : @-ms-viewport { width: device-width; } I guess that you can apply your own Meta or CSS with "CustomMeta" and "CustomCSS" properties of ServerModule, but Farshad or Delphi Developer will be more accurate than me! more info : http://adrianroselli.com/2015/10/dont-disable-zoom.html https://davidwalsh.name/zoom-mobile-browsers
  16. Anyway, no need to go to a seminar, we all know that uniGUI is the best Framework!
  17. ...or uniGUI was bought by embarcadero ?
  18. From MainModule, try this : q_syslog1.FieldByName('n_user').Value := TMainForm(MainForm).sUserName; Also, be sure that you call your procedure when MainForm is already created.
  19. Actually, you can use those "global" variables (which are, in fact, "public properties") in MainModule (you just have to add your MainForm in uses clause). Btw, MainForm is instanciated from MainModule, so for each session, you'll get one MainForm and one MainModule. There is no difference between a MainForm "global variable" (=public property) and a MainModule "global variable". I don't recommend to use your second way of declaring variables : those are not owned by an object, and are not safe in a multi-sessions/multi-thread development.
  20. Dear Mask, I think it will be better if YOU make an exe file that has an edit text to enter an url, then calls UrlRedirect by pressing a button (just like I did) and see what will happen. If it doesn't work, then would you please upload your project, so that we can see where is your issue ? If I send you a compiled binary file, how will it help you?
  21. If you compile my previous code, you'll get the same exe file. And once again, it would be so much easier if you provide a sample test case with your issue, and if you specify your conf (OS version, browser version, AV, Delphi version, uniGUi version, aso), so that we can understand where is your problem. Anyway, here is a short video that shows how this code works perfectly: .
  22. UrlRedirect.zipHere it is. But, once again, it would be easier if you provide a test case with your issue. The purpose of this thread is not to prove that this command works on everybody's computer, but to understand how and why it does not on yours.
×
×
  • Create New...