Jump to content

Eli M.

Members
  • Content Count

    40
  • Joined

  • Last visited

  • Days Won

    4

Everything posted by Eli M.

  1. Eli M.

    Generating one-to-many on the fly with Live Bindings

    It doesn't matter to me whether you use LiveBindings or not. I use it where appropriate and it saves me time. Obviously in your use case you claim it did not save you time. Use the right tool for the job.
  2. Eli M.

    Generating one-to-many on the fly with Live Bindings

    Maybe the problem is not specifically LiveBindings but trying to do too much on a single mobile screen at the same time. This project uses a number of different livebinded fields: https://community.embarcadero.com/article/16633-deep-dive-field-service-app-template-for-android-and-ios-with-rad-studio-10-2-tokyo
  3. Eli M.

    How can I serialize a TFieldList into a JSON string ?

    Looks like it saves the definition to me? {"FDBS":{"Version":15,"Manager":{"UpdatesRegistry":true,"TableList":[{"class":"Table","Name":"FDQueryTenants","SourceName":"tenants","SourceID":1,"TabID":0,"EnforceConstraints":false,"MinimumCapacity":50,"ColumnList":[{"class":"Column","Name":"TENANTID","SourceName":"TENANTID","SourceID":1,"DataType":"WideString","Size":144,"Searchable":true,"FixedLen":true,"Base":true,"OInUpdate":true,"OInWhere":true,"OriginTabName":"TENANTS","OriginColName":"TENANTID","SourceSize":144},{"class":"Column","Name":"TENANTNAME","SourceName":"TENANTNAME","SourceID":2,"DataType":"WideString","Size":256,"Searchable":true,"Base":true,"OInUpdate":true,"OInWhere":true,"OriginTabName":"TENANTS","OriginColName":"TENANTNAME","SourceSize":256}],"ConstraintList":[],"ViewList":[],"RowList":[{"RowID":0,"Original":{"TENANTID":"00000000-0000-0000-0000-000000000001","TENANTNAME":"Initial tenant"}}]}],"RelationList":[],"UpdatesJournal":{"Changes":[]}}}}
  4. Eli M.

    Firedac and SQL Server DB with "." in name

    My only suggestion would be try various forms of quoting it with double quotes and brackets. You tried some but maybe not using double quotes? https://docs.microsoft.com/en-us/sql/t-sql/statements/set-quoted-identifier-transact-sql?view=sql-server-2017 Also you could copy the FireDAC source file where it throws the error from to your project and modify it as a workaround.
  5. Eli M.

    Generating one-to-many on the fly with Live Bindings

    I use LiveBindings all the time in mobile apps so not sure what mausmb is going on about. Anyway, yeah, I don't see a way to make your code any less than it is. It's only 4 lines of code. Trying to think if putting it into a TFDMemTable first helps at all and I don't see that it does. In Edit1ChangeTracking with a for loop and TFDMemTable.AppendRecord you might be able to pack it into 3-4 lines. Might give you better flexibility with the data later.
  6. Eli M.

    How can I serialize a TFieldList into a JSON string ?

    It has built in support to save out to JSON. https://flixengineering.com/archives/299
  7. On IOS the WebView create isn't as clear cut but maybe can be modified in a similar fashion in: FMX.WebBrowser.Cocoa.pas
  8. Can trap and do things with the URL before navigation in OnShouldStartLoadWithRequest (should work correctly in Delphi 10.3 Rio in theory): https://stackoverflow.com/questions/23416086/callback-delphi-function-from-twebbrowser-by-javascript-on-delphi-xe6-for-all-pl Can modify the settings of the Android WebView here (copy the file to your project and edit) FMX.WebBrowser.Android.pas constructor TAndroidWebBrowserService.Create; var LayoutParams: JRelativeLayout_LayoutParams; begin FWebView := TJWebBrowser.JavaClass.init(TAndroidHelper.Activity); FWebView.getSettings.setJavaScriptEnabled(True); FListener := TWebBrowserListener.Create(Self); FWebView.SetWebViewListener(FListener); FFocusChangeListener := TFocusChangeListener.Create(Self); FWebView.setOnFocusChangeListener(FFocusChangeListener); FWebView.getSettings.setGeolocationEnabled(True); FWebView.getSettings.setAppCacheEnabled(True); FWebView.getSettings.setDatabaseEnabled(True); FWebView.getSettings.setDomStorageEnabled(True); FWebView.getSettings.setBuiltInZoomControls(True); FWebView.getSettings.setDisplayZoomControls(False); FWebViewContainer := TJRelativeLayout.JavaClass.init(TAndroidHelper.Context); FChildrenContainer := TJRelativeLayout.JavaClass.init(TAndroidHelper.Context); LayoutParams := TJRelativeLayout_LayoutParams.JavaClass.init(TJViewGroup_LayoutParams.JavaClass.MATCH_PARENT, TJViewGroup_LayoutParams.JavaClass.MATCH_PARENT); FWebViewContainer.addView(FWebView, LayoutParams); LayoutParams := TJRelativeLayout_LayoutParams.JavaClass.init(TJViewGroup_LayoutParams.JavaClass.MATCH_PARENT, TJViewGroup_LayoutParams.JavaClass.MATCH_PARENT); FWebViewContainer.addView(FChildrenContainer, LayoutParams); SetEnableCaching(True); end;
  9. Updated bundle size info for Delphi 10.3 Rio FireMonkey apps. http://www.fmxexpress.com/anatomy-of-a-delphi-10-3-rio-firemonkey-app-on-android-ios-windows-and-macos/
  10. Eli M.

    RSS feeds for new posts ?

    The single feed is decent enough. The test feed seems better than the plugin feed because the plugin feed has HTML in the description. The only draw back vs. pulling each individual forum is with the forum pull the forum/category of the post is known. The all feed doesn't have that though RSS probably has a field for it. TListView on the other hand is entirely unsuitable for displaying the feed however.
  11. Eli M.

    http://community.idera.com/ login woes

    Attempting to change my password pops an error box for me on it.
  12. Wrote up this blog post covering a sample of the client/server/openapi auto generated solution from Auto Tables for RAD Server. http://www.fmxexpress.com/auto-tables-logger-rest-client-and-rad-server-sample-for-delphi-10-2-tokyo-on-android-and-ios/
×