Posts

Any optimal settings for minimizing FireDAC memory usage?

Any optimal settings for minimizing FireDAC memory usage? Seems like everytime I use it I run into some kind of memory issue.
Any optimal settings for minimizing FireDAC memory usage? Seems like everytime I use it I run into some kind of memory issue.

Marco Cantù: Did I miss any announcement that the forums (and nntp-Access) have been shut down? It is down now for a week or so, even your Blog is no longer working. Please give a sign of live and tell what's happend.

Marco Cantù: Did I miss any announcement that the forums (and nntp-Access) have been shut down? It is down now for a week or so, even your Blog is no longer working. Please give a sign of live and tell what's happend. TIA, Achim

Hello

Hello, i have sometting strange in my application. I wonder what I did wrong or what I did not understand. The goal is to create 2 functions in the ServerMethodsUnit to modify a variable of the web module. For that, I used the Datasnap Rest Server wizard with the following parameters Stand Alone VCL Gui application No autorization, from Tdatamodule The server metjhods EchoString and ReverseString work well. First I added in WebModuleUnit1 the variable var1:string; TWebModule1 = class(TWebModule) DSHTTPWebDispatcher1: TDSHTTPWebDispatcher; DSServer1: TDSServer; DSServerClass1: TDSServerClass; ServerFunctionInvoker: TPageProducer; ReverseString: TPageProducer; WebFileDispatcher1: TWebFileDispatcher; DSProxyGenerator1: TDSProxyGenerator; DSServerMetaDataProvider1: TDSServerMetaDataProvider; procedure DSServerClass1GetClass(DSServerClass: TDSServerClass; var PersistentClass: TPersistentClass); procedure ServerFunctionInvokerHTMLTag(Sender: TObject; Tag: TTag; const TagString: string; Ta...

Anybody use Nodejs to create API's for delphi ? Recently looking into microservices and Docker and im amazed by the things that can be done with those technologies combined.

Anybody use Nodejs to create API's for delphi ? Recently looking into microservices and Docker and im amazed by the things that can be done with those technologies combined. Currently using KOA framework (with node) to build the backend for delphi applications.

Hi!

Hi! Has anybody ever automated the build of an Android app using Delphi? If so, could you please share how you did it and what pitfalls I have to look for? Thanks! A

TThreadQueue one of the two generic thread safe classes is broken. RSP-18521 states that it got fixed in Tokyo release, but *is not*. See in https://quality.embarcadero.com/browse/RSP-19874 a small console app reproducing the problem and the suggested fix. Is this another example of issues mistakenly marked in JIRA as fixed?

TThreadQueue one of the two generic thread safe classes is broken. RSP-18521 states that it got fixed in Tokyo release, but *is not* . See in https://quality.embarcadero.com/browse/RSP-19874 a small console app reproducing the problem and the suggested fix. Is this another example of issues mistakenly marked in JIRA as fixed? https://quality.embarcadero.com/browse/RSP-19874

I asked a question about component to show Google maps in Stack overflow.

I asked a question about component to show Google maps in Stack overflow. Seems that recommendation questions are off topic now. So I repeat the question here instead. I search for a Delphi components to display Google Maps. I prefer to not be dependent on Internet Explorer, so the component should not inherit from TWebBrowser. Reason I want to avoid TWebBrowser is that I want my application be independent of Windows version. It should not matter what IE version is installed. I found the following - Google Maps Library OpenSource - TMS VCL WebGMaps Commercial. Some features disabled in D2007. - ZylGMaps Commercial. Only TWebBrowser - DevExpress Map Control Commercial. Not supporting Google Maps. So Devexpress is not interesting as it not support Google Maps. ZylGMaps use TWebBrowser. For TMS I am not sure, but I search in fourum and I think it is based on TWebBrowser. Currently I use D2007 but update is on the roadmap. About Google Maps Library. It seems to have an open architecture an...

Hello!

Hello! [UPDATE] So, it turns out that what is misplaced is the XML that Berlin 10.1 emits. This is the manifest fragment that gets included: android:name="com.google.android.geo.API_KEY" android:value="YADDAYADDA"/> But the issue is that, really, the first two tags ought to be 1. How do I fix this? Do I just un-check the entitlement in the option and do it manually? What's the best practice here? Anybody's got an Android Manifest template with Gmaps API Key that I could look at, please? Obviously, the key itself needs not to be present, just the correct way to put the tag in :) I keep getting "Malformed manifest" and need a hunch :) Thanks. A

Hi

Hi, Sometime ago I saw in a blog post, I can not remember where (sorry), Remy Lebeau mentioning that if Delphi had managed records, support he could write his own string type. I got curious about that now, it would be even possible? I would like to understand more regarding the technical implications of it. Thanks!

TMonitor vrs Critical sections revisited.

Image
TMonitor vrs Critical sections revisited. Back then ( https://www.delphitools.info/2013/06/06/tmonitor-vs-trtlcriticalsection/ ), it was found that critical sections were beating TMonitor hands down. I have rerun the tests in that comparison with Delphi Tokyo and the results appear to be reversed. 0.09 sec for critical sections vers 0.03 sec for TMonitor. Has the performance of TMonitor so massively improved or I am missing something?

High performaces DB indexing engine ( Delphi XE 10.2 )

High performaces DB indexing engine ( Delphi XE 10.2 ) Hi, I'm working on a new database indexing engine project, and I would like to know if is there on the net some databases comparative benchmarks. For the moment i didn't find this kind of tests ( I mean something like CPU benchmarks ...., with different DBs like MySQL, PostGres, SQL server and so on ). From tests I made with my DB engine and MySQL I have hugely higher performances, and I would like to compare them with others benchs to confirm results. In order to compare with MySQL I've installed MySQL and My DB engine locally the same PC ( AMD ThreadRipper 1950X@4Ghz, 32 Go RAM DDR4, Disk: SSD M2 NVMe Samsung 960 EVO on Windows 10 Pro 64 bits V. 1703 ). All tests are made on the same PC, 1 user, except for Android ARM tests made on a ARCHOS Oxygen 101b Android tablet w/ ARM CPU: Mediatek MTK 8163A / Quad-Core @1.3 GHz Cortex A53. Tests database is USA domestic flights database from Jan 1988 till Jun 2017 ( 30 years, m...

EhLib 9.2 is available for download

Image
EhLib 9.2 is available for download Dear Developers, We are glad to inform that a new version of EhLib software - EhLib 9.2 is available for download. In this version: + Supports of ARC (Automatic Reference Counting) Delphi compilers + Compatibility with the CrossVCL library. Now you can compile your VCL project into a GUI application for OS X and Linux. + Technology for saving application settings - SettingsKeeper + Animation when moving columns in DBGridEh See detail information in "About EhLib 9.2 Eng.doc" file of EhLib archive You can download Evaluation version of EhLib archive on EhLib home page: www.ehlib.com

Unique random numbers in range problem:

Unique random numbers in range problem: I have: Var i: Integer; RandomNumbers : array of integer; Begin SetLength(RandomNumbers, 5); Randomize; for i := 0 to 4 do begin RandomNumbers[i] := 1 +RandomNumbers(1,200); ShowMessage('Random Numbers are = '+IntToStr(RandomNumbers[i])); end; Problem is that sometimes I get repeat values. I need unique values. How to achieve this? Thx. Tomislav

A lot has been said before about Stackoverflow, good to see they are taking steps in the right direction

A lot has been said before about Stackoverflow, good to see they are taking steps in the right direction https://stackoverflow.blog/2018/04/26/stack-overflow-isnt-very-welcoming-its-time-for-that-to-change/

let's end this week with a brand new video!

let's end this week with a brand new video! On "TMS Web: Multiple forms", by Holger Flick https://www.youtube.com/watch?v=QfIuSueJujE For more videos on TMS WEB Core visit: https://www.tmssoftware.com/site/tmswebcoreintro.asp#videos https://www.youtube.com/watch?v=QfIuSueJujE

TMS Web kennenlernen! TMS RADical Web Day in Deutschland am 24.05.2018 (de)

TMS Web kennenlernen! TMS RADical Web Day in Deutschland am 24.05.2018 (de) https://flixengineering.com/archives/662 https://flixengineering.com/archives/662

Don't miss this: Just few days left for the early birds!! Register before May 1, 2018 for a discounted price instead of regular price.

Image
Don't miss this: Just few days left for the early birds!! Register before May 1, 2018 for a discounted price instead of regular price. More info: https://www.tmssoftware.com/site/tms-training-day-20180524.asp?ln=EN

Found an interesting conclusion as to the performance comparison of "string + string" vs "TStringBuilder" by Andrei Aleksandrov: "I think that PUREPASCAL implementation is used in all “new” compilers, so it means that under x86 str+str is faster than StringBuilder, but in all other cases StringBuilder is faster. ".

Found an interesting conclusion as to the performance comparison of "string + string" vs "TStringBuilder" by Andrei Aleksandrov: "I think that PUREPASCAL implementation is used in all “new” compilers, so it means that under x86 str+str is faster than StringBuilder, but in all other cases StringBuilder is faster. ". https://medium.com/@Zawuza/stringbuilder-vs-for-string-string-d1c82e14f990

Here's my string reference counting bug of the day.

Here's my string reference counting bug of the day. Strings passed as parameters can be used after free if the variable is modified between the string being pushed onto the stack and the function being called (e.g. by another function constructing a parameter). Or am I just doing bad things with strings? https://quality.embarcadero.com/browse/RSP-20457 https://quality.embarcadero.com/browse/RSP-20457

Here's my string reference counting bug of the day. Strings passed as parameters can be used after free if the variable is modified between the string being pushed onto the stack and the function being called (e.g. by another function constructing a parameter).

Here's my string reference counting bug of the day. Strings passed as parameters can be used after free if the variable is modified between the string being pushed onto the stack and the function being called (e.g. by another function constructing a parameter). Or am I just doing bad things with strings? https://quality.embarcadero.com/browse/RSP-20457 https://quality.embarcadero.com/browse/RSP-20457

My application is raising exception when I close it (catch in the IDE):

My application is raising exception when I close it (catch in the IDE): Exception class EContext3DException with message 'Error in context method 'DoFinalizeShader'.'. I tried to recreate the whole application, I guess it is something related to Styles (first version had a stylebook). Any clue?

Originally shared by Jeroen Wiert Pluimers

Originally shared by Jeroen Wiert Pluimers I've updated https://bitbucket.org/jeroenp/wiert.me/src/tip/Native/Delphi/Scripts/List-Delphi-Installed-Packages.ps1 with: - Support 10.2 Tokyo - fix difference in CompanyName versus Registry-CompanyName - fix architecture for Delphi 8 - add DelphiVersion - ProjectVersion 18.1 is also used by Delphi 10 Seattle - add ReleaseDate - add BetaName The updated markdown table is at these places: - https://gist.github.com/jpluimers/b5891600b73642788b492393710c6070 - https://wiert.me/2016/09/06/delphi-version-info-table-need-help-with-these-projectversion-for-c-builder-delphi-2005-and-2006-dllsuffix-for-c-builder-appbuilder-1-13-codename/ anyone having the AppBuilder 1.13 codename? https://bitbucket.org/jeroenp/wiert.me/commits/edb1cd21e133c9ef8f5d1601d5f1a6fdbba7da7c https://bitbucket.org/jeroenp/wiert.me/src/tip/Native/Delphi/Scripts/List-Delphi-Installed-Packages.ps1

Playing with SQL #2: Context-sensitive code completion

Image
Playing with SQL #2: Context-sensitive code completion

Forums... https://embarcaderomonitoring.wiert.me/

Image
Forums... https://embarcaderomonitoring.wiert.me/

Hola queria consultar lo siguiene: Estoy desarrollando una app con Firemonkey, utilizo Datasnap TCP y no puedo entender como controlar una perdida de conexion, ya lei de todo.. Entiendo que cambiando solo KeepAliveEnablement = kaenabled lo solucionaria ?, o sea que si por ej. se pierde la conexion a un wifi y toma los datos del telefono como nueva conexion la app deberia seguir trabajando?. A mi me pasa que se cuelga todo, teniendo que salir y volver a entrar. Si pueden ayudarme con este tema muchas gracias!

Hola queria consultar lo siguiene: Estoy desarrollando una app con Firemonkey, utilizo Datasnap TCP y no puedo entender como controlar una perdida de conexion, ya lei de todo.. Entiendo que cambiando solo KeepAliveEnablement = kaenabled lo solucionaria ?, o sea que si por ej. se pierde la conexion a un wifi y toma los datos del telefono como nueva conexion la app deberia seguir trabajando?. A mi me pasa que se cuelga todo, teniendo que salir y volver a entrar. Si pueden ayudarme con este tema muchas gracias!, Probe cambiando 1) KeepAliveEnablement en el servidor datasnap 2) Cambiando LifeCycle a Invocation. 3) Con los componentes indy testeando el puerto pero si se reconecta no valida y lo toma conectado para igual se cuelta.

Originally shared by Primož Gabrijelčič

Originally shared by Primož Gabrijelčič A long-lasting bug was found & fixed in OmniThreadLibrary. I would appreciate some additional testing before the release ...

Hi Folks

Hi Folks, I'm trying to find out, how a long running task created with TTask.Run() can be terminated properly upon program termination. I tried to build upon the example at https://stackoverflow.com/questions/44080089/how-to-stop-a-running-ttask-thread-safe . I have no problem starting, stopping tasks from the GUI. Stopping an unfinished task and starting the next also works, but the application reliably crashes when I start a task and exit the application immediately. In the destructor of the example project the result list is just freed. This will of course cause an A/V, because the still running task is trying to add entries to the list. Calling Task.Cancel in the destructor before freeing the list doesn't help ;) I need a reliable way to cancel a running task and wait for its termination in e.g. FormClose(). My attempts have failed so far. I can make my test application available via dropbox/google drive. https://stackoverflow.com/questions/44080089/how-to-stop-a-running-tt...

MultiView demo problem?

MultiView demo problem? Does any of you face the same problem when implementing the FMX mutliview (run de MultiViewDemo example provided with RadStudio)... When I set the multi view mode to Drawer and the Sliding mode to Pushing, then test it, it works. Then I set the mobile device (Android or iOS) into landscape mode, then the Push effect doesn't work anymore, it just makes the main screen darker. If I do it again, then it works. It looks like there is a bug when switching from Portait to Landscape and back. Worse, on Android, coming back to Portrait with the drawer actually open, the app will crash. Does anybody also face this problem? if yes, any fix? Or should I just go ahead and open a ticket with Embarcadero? Thanks for any kind of confirmation. Steve

A project is looking at moving from using Oracle to Postgres. Direct Oracle Access (DOA) components are used to talk directly to Oracle server now.

A project is looking at moving from using Oracle to Postgres. Direct Oracle Access (DOA) components are used to talk directly to Oracle server now. Switching to Postgres, there's a question whether FireDAC's Postgres components are good, or if it's better to use some Pg-specific components for even better performance? (I see lots of comments that FireDAC's various DB connections tend to be quite fast, but I have no experience with them.)