Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


IgorSavkic last won the day on December 1 2019

IgorSavkic had the most liked content!

About IgorSavkic

  • Rank

Smart Mobile Studio

  • Edition

Recent Profile Visitors

508 profile views
  1. I would like to try this new release, it's seems ALPHA channel isn't available for trial version nor for 2.x I have. Perhaps I should buy 3.02 version, will that license be compatible with 4.x version once it's released?
  2. IgorSavkic

    64 Bit Types

    There's probably no documentation on that, only thing available as some samples and articles from Jon: https://jonlennartaasenden.wordpress.com/2015/03/07/system-interop-how-to-for-smart-mobile-studio/ https://jonlennartaasenden.wordpress.com/2017/06/04/smart-pascal-memory-and-pointers/ They are others on the memory matter (use seach option from above articles)
  3. IgorSavkic

    Parameter Passing

    I'm not an expert on this so take my words with reserve. During processing json objects (simple Variant variable) I've noticed that JS/SMS copies data by reference by default, so it's like you're passing var argument (procedure Test(var AVariable: Variant). Since TObject is also variant it's possible it's also copied by reference so you should be working on same instance of TObject as if it were a pointer.
  4. Interesting decision to move away from Delphi, you'll probably loose something in the process but it has great potential. When can we expect a preview? BTW would it then be possible to make SMS an online application?
  5. IgorSavkic


    It seems a bit slow with JS implementation, I guess it can work realtime with C implmentation. Anyway, interesting news from Google, they've entered SBC market with a mini computer with already set up libraries for tensorflow and machine learning https://www.arrow.com/en/research-and-events/articles/tapping-into-the-power-of-google-an-introduction-to-googles-new-line-of-coral-products
  6. IgorSavkic


    What I did (for a reset pass form) was to include gogle recapcha js to html, it auto displays/shows a small recaptcha logo on lower right and shows challenge only when my SMS ResetPass button is pressed: var grecaptcha external 'grecaptcha': Variant; grecaptcha.execute(GoogleRecaptchaKey, InitObject(['action', 'pwdreset'])).then( lambda (token: Variant) // We received result from Google recaptcha, pass it along with other entered values to the server // Server will perform final validation of received token (is it valid value or not). WriteLn(Token); glbApp.ResetPass(Trim(edtUserName.value), Trim(edtCust.value), lambda (AClient, AStatus) ShowMessage('If entered details match registered user, password reset details will be sent to your eMail address.'); end ); end );
  7. IgorSavkic

    Responsive Design

    This grid system looks really nice, thanks for introducing it to us. I think with it it's possible to create some nice and fast table grids.
  8. IgorSavkic

    Send requests to Node.js server from client?

    > 3) If file version has changed, send back the new file ? is this possible? would the file be able to be written on the client side? If code is runs in a standard browser (not natified webApp) then I think you can only save it to localstorage (quite easy) and use from there or you can build service worker for caching (lot of work).
  9. IgorSavkic

    Request for feedback: Changing class names in the RTL

    I also do not see much of point in W3 prefix, perhaps idea was to distinguish it from Delphi classes. Anyway if works I would add simple mapping from old to new directly in affected units without doing anything to IDE. Something like TW3Button = TButton or class(TButton)
  10. IgorSavkic

    UI layout

    That's true, after several attempts I've stopped using TLayout alltogether and switched to manual positioning within resize event. What's interesting is frow layout (https://frowcss.com)
  11. IgorSavkic

    Chat Scroller - Need Some Tips

    Perhaps try to have control in virtual mode, meaning do not create all items in control, rather create enough to cover visible portion of the control
  12. IgorSavkic

    WebSocket Srv in Node

    Thanks, this looks like exacatly what I need. I've been trying whole day to make it work and it's always failing with warning that require is not recognized. It seems to me that NWjs developers do not test on Windows since with their exact steps (and code) app cannot even start, I'll try with other versions, hopefully there is one that works.
  13. IgorSavkic

    WebSocket Srv in Node

    Question about Node classes, what is the difference between TNJWebSocketServer in SmartNJ.WebSocket and one in SmartNJ.Server.WebSocket? I'm trying to create a kind of hybrid app, with two modes, client (standard SMS web client) and server (NodeJS server(with regular client as a GUI). App starts as a standard web client, displaying some data from server, depending on config it should start a NodeJS server as well (to which other clients in same LAN will connect). That of course doesn't work in browser so I was thinking of building it with nativefier since I've noticed it packages NodeJS (as dll) in the bundle. However I haven't managed to do it yet, nativefier produce standalone app, and client (GUI) works but server part does not. Server code is fine since it works when started through Node. If anyone worked more with nativefier or has any idea how to make it done I would appreciate it.
  14. IgorSavkic

    Renaming form in ObjectInspector

    > Through Project manager: Through Property Inspector I think SMS in this should behave as Delphi. Project manager operates on units, so it will display unit name (for example MainForm.pas) and renaming there, renames unit. Object/Property inspector operates on components, so changing form name just does that, changes form name and class, unit is unaffected. For forms units I do like to have a different unit name and a different form name, for example I prefix all controls with it's type abbreviation, something like: Unit: SettingsForm.pas FormControl: frmSettings Panel: pnlMain ListBox: lbItems Panel: pnlRight ListBox: lbCategories Panel: pnlBottom Button: btnOK Button: btnCancel
  15. IgorSavkic

    NodeJS file utils and native app

    Thanks, David and Nico, this will be a good starting point to experiment and get going.