Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


IgorSavkic last won the day on May 21

IgorSavkic had the most liked content!

About IgorSavkic

  • Rank

Smart Mobile Studio

  • Edition

Recent Profile Visitors

605 profile views
  1. IgorSavkic


    Looks interesting, I think it could be implemented as partial class and added to RTL just like with MouseTouch.pas
  2. IgorSavkic


    Have you perhaps used Vue, does it manage/track all levels or only first?
  3. IgorSavkic


    Thanks, it seems to intercept any level get but only first (tracked) level set. leveltest.level2 := new JObject; ProxyObj.leveltest := leveltest; ProxyObj.leveltest.level2.level3 := 'level3Value'; Button3.OnClick := lambda Memo1.Add(MyProxy.leveltest.level2, True); MyProxy.leveltest.level2.level3 := 'changedLev3Value'; Memo1.Add(MyProxy.leveltest.level2.level3, True); MyProxy.leveltest := 'changedLev1Value'; leveltest := 'changedLev1Value2'; Memo1.Add(MyProxy.leveltest, True); end;
  4. IgorSavkic


    Quite interesting, I've done something similar and never knew this was possible. Do you know how does it handle setting subobjects, for example, you're proxying object which has 5 levels of subobjects and some property in level3Object is changed?
  5. IgorSavkic


    Nice, what did you use for payment processing?
  6. IgorSavkic

    responsive grid

    Wouldn't you get same effect with flex style?
  7. Here's example for csv file: var csv: string; begin csv := 'Field1,Field2,Field3' + #13#10; // Add other lines to it var link = w3_createHtmlElement('a'); link.href := 'data:text/csv;charset=utf-8,' + EncodeURI(csv); link.target := '_blank'; link.download := 'CarlSearch.csv'; BrowserAPI.Body.appendChild(link); link.click(); BrowserAPI.Body.removeChild(link); end;
  8. It's, I think it's same in all SMS versions, even latest stable (2.2.4543, where functions are called differently but code algo is same). I'm getting: 2020-02-01 18:00:00 [line #590] 2020-02-01 16:00:00 [line #590] 2020-02-01 17:00:00 [line #590] We're in different timezone (I'm CET), most likely that's the why you see difference, perhaps you would get wrong time for (which gives me correct one): Temp := EncodeDateTime(2020, 10, 1, 18, 0, 0, 0);
  9. That needs fix from dev team, but as a workaround try to write class helper (untested) and hopefully it will take precedence over default declaration. JPathExportHelper = class helper for JPath_Exports function Join(Paths: string): string; end; and implementation as: asm @Result = join(@Paths); end or Result := Variant(Self).join(Paths);
  10. var Temp, Wrong, Correct: TDateTime; begin Temp := EncodeDateTime(2020, 2, 1, 18, 0, 0, 0); Wrong := LocalDateTimeToUTC(Temp); Correct := LocalDateTimeToUTCDateTime(Temp); WriteLn(DateTimeToStr(Temp)); WriteLn(DateTimeToStr(Wrong)); WriteLn(DateTimeToStr(Correct)); end; Problem is that SMS uses current time to calculate UTCOffset which is not correct, it must calculate offset from the given time. Solution is something like: var JD := DateTimeToJDate(LocalTime); result:=LocalTime+JDateToDateTime(JD)-JDateToLocalDateTime(JD); Or better yet just make LocalDateTimeToUTC call LocalDateTimeToUTCDateTime from DWS
  11. In latest version if two instances are started second one crashes, trying to open port and that's already used by first instance. Check details in attachment. SMSCrash.7z
  12. Sometimes these composite controls are good but in other not really, I had a lot of problem with TCheckBox in styling and flex positions so I've started using instead simple div as container and inside span for caption and editbox (check input) and all works exactly as I want. So perhaps checkbox control should be simplified.
  13. > Today I started then adding SQLite. I started by downloading a database file with TW3HttpRequest and loading it from a stream. Again, a few > bugs and improvements had to be made, but now it works and I have a nice mechanism for loading any binary data from a file. Is that for readonly sqlite databases? Or do you mean to store updated one in localstorage? > But now then... Making it possible to read the results of a SQLite query through a dataset.... Here I hit a little road block and don't know how to proceed. It's > simple to make a select-query and access that data for results, but what's the best way for me to know what the fields are? Their names and datatypes SQLite on desktop returns both fieldname and datatype, I guess that JS SQLite version doesn't return all that, so I think best is just to use Variant for all fields, and leave to user of Dataset to access it AsStr, AsInt, AsFloat... After all writer of that query should know what columns he'se selecting in query and what are datatypes.
  14. That solved it, wasn't firewal but it was changed port to 8091 (IDE Settings/Server), after restart IDE stopped working. I've tried other ports and none worked. Probably 8090 is hardcoded and changing doesn't reflect that.
  15. Yes, it worked fine and then stopped.
  • Create New...