Posts

Showing posts from April, 2018

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.)

Hi, i'm creating new component TPanel's descentands. (Panel1)

Image
Hi, i'm creating new component TPanel's descentands. (Panel1) And i'm creating new panel (Panel2) into myComponent and creating new panel into Panel2. I want to know when panel3 coordinates change. How to handle Panel3 WM_SIZE or WM_WINDOWPOSCHANGED message? Thanks..

Hi all!

Hi all! My Android app has an asset that could be necessary to be re-downloaded. On deploy process we put it there and later the user can/must download a new version. Using TPath.GetDocumentsPath is where I get access to it (ie., if it is a database we use that to point it to be opened), but can I access the file at that location directly in intend to handle it? I need to rename it to old file, get the new one and activate as the new one. The process don't raises any error but seems not be working. Just want to know if it is possible, if yes I will dig to know what is going on here, if not possible I will try another approach. Thanks!

Hi all! My Android app has an asset that could be necessary to be re-downloaded. On deploy process we put it there and later the user can/must download a new version.

Hi all! My Android app has an asset that could be necessary to be re-downloaded. On deploy process we put it there and later the user can/must download a new version. Using TPath.GetDocumentsPath is where I get access to it (ie., if it is a database we use that to point it to be opened), but can I access the file at that location directly in intend to handle it? I need to rename it to old file, get the new one and activate as the new one. The process don't raises any error but seems not be working. Just want to know if it is possible, if yes I will dig to know what is going on here, if not possible I will try another approach. Thanks!

Helpers extend a type vertically

Helpers extend a type vertically On page 67 in 'Expert Delphi', Pawel says "Manipulating types in code can be even more readable when we define type helpers. Helpers extend a type vertically." What does he mean by "vertically"? I've included below the code snippet used in the book as a reference. I just can't wrap my head around the meaning of extending something vertically. {begin code snippet} var s: string; i: integer; begin i := 10; s := IntToStr(i); // "old" style s := i.ToString; // more readable s := 10.ToString; // that would work too {end code snippet }

Need to build an xy matrix with collapsible groups on both axis. Does anyone know what this is called, or if it already exists for VCL?

Image
Need to build an xy matrix with collapsible groups on both axis. Does anyone know what this is called, or if it already exists for VCL?

https://community.embarcadero.com/all-events/viewevent/1787-tms-radical-web-day#.Wt7xJeUT3ac.google_plusone_share

https://community.embarcadero.com/all-events/viewevent/1787-tms-radical-web-day#.Wt7xJeUT3ac.google_plusone_share https://community.embarcadero.com/all-events/viewevent/1787-tms-radical-web-day#.Wt7xJeUT3ac.google_plusone_share

Read&Write to MSR register in Delphi:

Image
Read&Write to MSR register in Delphi: https://github.com/changguangyu/DelphiMSR PS: Can I implement this without using WinRing0.DLL like the CPUID in System.pas??

I have been working on adding VCL Styles to you company application. It all seems to work fine, apart from with a dark theme, I cannot set the disabled font colour to a workable colour, it is always gray.

I have been working on adding VCL Styles to you company application. It all seems to work fine, apart from with a dark theme, I cannot set the disabled font colour to a workable colour, it is always gray. I've tried adding a style hook to set it a colour (any colour), but it doesn't evert set the font colour. The disabled colours also look wrong in the style editor that is shipped with Delphi. Any suggestions? Assume that there are 100s of potentially disabled controls, so I don't want to change the forms too much themselves Thanks in advance.
Has someone experience with sending a Skype-Message over Microsoft Bot Network with Delphi? I would appreciate any info how to start this ...

What's the meaning of empty record??

What's the meaning of empty record?? in Datasnap.DBClient, there is : TKeyBuffer = record Modified: Boolean; Exclusive: Boolean; FieldCount: Integer; Data: record end; end;

BIG news!!!

Image
BIG news!!!

How to implement rdmsr&wrmsr in Delphi??

How to implement rdmsr&wrmsr in Delphi?? I want to read and write to MSR register.

Hello

Image
Hello, I use FireDac TFDQuery with cachedUpdates = true and Embarcadero Studio 10.2. I want to have aggregates on a calculated field of TFDQuery but when I try to set TFDQuery.Active = true at design time I get the message shown in the attached picture. I placed FireDac.Stan.ExprFuncs on uses clause but problem reamains. I would like to ask how I could overcome this ? Thank you

Do you use Embarcadero version of FastMM or the "official" bleeding edge version of FastMM from the gitHub repository?

Do you use Embarcadero version of FastMM or the "official" bleeding edge version of FastMM from the gitHub repository? Any idea what are the differences of two (in release mode) and when Embarcadero version has been updated?

Hello!

Hello! I have a file located at a https and need to download it with an Android application. Ex: https://www.filedomain.com/thefile.dat What the best/fastest approach here?

Originally shared by Thomas Mueller (dummzeuch)

Originally shared by Thomas Mueller (dummzeuch) In Delphi, threads have traditionally been implemented as classes descending from TThread. While there have been quite a few improvements to multithreading, TThread is still the most compatible way. But TThread is not a normal class. In a normal class,… http://blog.dummzeuch.de/2018/04/22/tthread-is-not-a-normal-class/

client-side web app question, totally OT

client-side web app question, totally OT Forgive me, but I really don't know where to ask this. Suggestions are welcome. I want to simply know if this is possible today using ANY popular frameworks for web apps (not specifically Delphi): an app that displays a multi-track audio mixer with faders, that lets you move each fader up and down, adjusting the resulting audio mix on the device's audio output in real-time. (The number of tracks is irrelevant, but for argument sake, let's say four.) I'm talking about using javascript scripts running in the browser, not embedded apps like Shockwave. Is any kind of generalized browser-to-native-hardware interface available for audio needs yet?

> The $IF and $ELSEIF directives are terminated with $IFEND, unlike other conditional directives that use the $ENDIF terminator. <

> The $IF and $ELSEIF directives are terminated with $IFEND, unlike other conditional directives that use the $ENDIF terminator. < OK System.Classes.pas of Delphi 10.2, Line 1637 (TThread declaration): {$IF Defined(MSWINDOWS)} FHandle: THandle platform; {$ELSEIF Defined(POSIX)} FCreateSuspendedMutex: pthread_mutex_t; FInitialSuspendDone: Boolean; {$ENDIF POSIX} WTF? http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Legacy_IFEND_(Delphi) > At the XE4 release, the Delphi compilers were changed to accept either $IFEND or $ENDIF to close $IF statements. Before XE4, only $IFEND could be used to close $IF statements. The $LEGACYIFEND directive allows you to restore the old behavior, which is useful if your code is emitting E2029 related to nested $IF and $IFDEF statements. < WTFF? Why? No wonder that refactoring is unstable. http://docwiki.embarcadero.com/RADStudio/Tokyo/en/IF_directive_(Delphi)

Cool IDE Feature

Image
Cool IDE Feature I just learned one of the coolest features of the Delphi IDE. The "Blue Arrows" in the IDE tool bar for traversing back and forth through the history navigation in the code editor. OMG, what a time saver! This is page 54 of "Expert Delphi" by Pawel Glowacki.

I have a question about whether it is better to use a unit containing procedures and function or to wrap them in a class as class procedure and function.

I have a question about whether it is better to use a unit containing procedures and function or to wrap them in a class as class procedure and function. Most of my applications have a unit dedicated to simple functions and procedures that are used through the application but don't really lend themselves to being encapsulated in a class of similar functionality. Any opinions?

Question:

Question: In Delphi Tokyo AnsiStrings.StrLen(const Str: PAnsiChar): Cardinal; is implemented as Result := Length(Str); This results in a call to System._PCharLen. Is the use of the Length function with PAnsiChar and PChar documented? Has it always been there?

Have fun with TFrame :)

Image
Have fun with TFrame :) https://quality.embarcadero.com/browse/RSP-20413

Delphi Patch for Meltdown and Spectre

Delphi Patch for Meltdown and Spectre A potential customer evaluating our software asked what we do "agains Meltdown and Spectre". My first reaction was to answer "patch your OS, this is not an App-Level question". But then I found the /Qspectre MSVC compile switch and hesitated to answer before cross checking. https://linustechtips.com/main/topic/897748-microsoft-patches-visual-c-against-meltdown-and-spectre-and-advises-developers-to-patch-their-apps-and-games/ regards Günther

TRestClient - allow Request Body for DELETE and GET

TRestClient - allow Request Body for DELETE and GET modern real world REST APIs do use Request Body for DELETE and GET. A typical example is a API call for deleting a larger list of elements calling URL ../assets/bulk with a Json StringList and a DELETE (example of the API within www.collibra.com ) The link https://stackoverflow.com/questions/14323716/restful-alternatives-to-delete-request-body does describe the pro and contra. But the fact is, that this syntax is valid and used. We cannot change any of the large APIs. I did some research and made the code running with a few small patches. (see https://quality.embarcadero.com/browse/RSP-20407 ). Now I can finish my project release using TRestClient!

I’ve just had the pleasure of discovering TFuture and using it for the first time. It’s crazy I haven’t found it sooner given I use TTask so much already.

I’ve just had the pleasure of discovering TFuture and using it for the first time. It’s crazy I haven’t found it sooner given I use TTask so much already. Is anyone aware of limitations or no-go areas when using TFuture? It would be useful to know before I implement them extensively in my app. I’m still using Berlin 10.1.

How do I use TFile.Copy and retain the original file permissions?

How do I use TFile.Copy and retain the original file permissions? I am copying from the Downloads folder to the C:?Windows/inf folder

Hi, I'm newbie about using SOAP services with Delphi in VCL apps. I'm on D10 Seattle, I've imported a WSDL in order to use a private webservice. All works fine on my system test and in general on Windows 10 systems but when I move my Delphi app on Windows 7, when I try to call one of the webservice's methods I always get an AV. The call stack is attached. Googleing I found something on Windows DEP but I don't thing should be my case. Any ideas?

Image
Hi, I'm newbie about using SOAP services with Delphi in VCL apps. I'm on D10 Seattle, I've imported a WSDL in order to use a private webservice. All works fine on my system test and in general on Windows 10 systems but when I move my Delphi app on Windows 7, when I try to call one of the webservice's methods I always get an AV. The call stack is attached. Googleing I found something on Windows DEP but I don't thing should be my case. Any ideas?

TMS Web: Installation

New videos (English and German) has been added! On "TMS Web: Installation", by Holger Flick for TMSsoftware https://www.youtube.com/watch?v=Q9uhPy-SXiM&t=29s https://www.youtube.com/watch?v=bGKHnDHelGc&t=32s For more videos on TMS WEB Core visit: https://www.tmssoftware.com/site/tmswebcoreintro.asp#videos https://www.youtube.com/watch?v=Q9uhPy-SXiM&t=29s

Hey B'ys

Hey B'ys, I started developing with Borland Delphi 3 and stopped at 6. I created a product called LargeEdit, its a text editor I used to open huge files. Previously I was moving files to Unix server to VI them. I started adding a bunch of developer stuff, syntax highlighters, keyboard macros, etc.. I still use the editor to this day under compatibility mode, I haven't maintained it since 2006 and don't have time to work on it. If anybody is interested, I have open sourced the product on GitHub, https://github.com/kyght/LargeEdit Since I still rely on the editor daily, I would love to see new features added. http://www.kyght.com/index.php/page/solutions/largeedit/

Straightforward steps to install Free SSL/TLS Certificate in your REST API Server. The certificate is provided by https://letsencrypt.org.

Straightforward steps to install Free SSL/TLS Certificate in your REST API Server. The certificate is provided by https://letsencrypt.org . Blog post: https://www.tmssoftware.com/site/blog.asp?post=454 Video: https://youtu.be/gsYgV8zIcQg https://youtu.be/gsYgV8zIcQg

I was wondering if there is a way to simplify something I use very very often. 2 examples:

I was wondering if there is a way to simplify something I use very very often. 2 examples: Counting records in array, based on some value: Cnt := 0; for i := 0 to High(Array) do If Array[i].Selected do // Selected = boolean Inc(Cnt); Is it possible something like: Cnt := 0; for i := 0 to High(Array) do Inc(Cnt, Array[i].Selected); So, extending Inc to increment only if condition is true. Another example, for Exit method - I regularly check for conditions when function needs to exit: if Not Condition then begin ShowMessage('Condition not met'); Exit; end; Is it possible to do something that would be Message and Exit in 1 line: If Not Condition then Exit('Condition not met'); or If Not Condition then myExit('Condition not met'); in this case my custom myExit method would do ShowMessage and then return Exit command back to the method. I know these 2 examples are not possible, but maybe somebody found similar solutions.

TRestClient and Array Parameters in a Get

TRestClient and Array Parameters in a Get I got blocked using TRestClient with a REST Service that requires string arrays in a Get. https://stackoverflow.com/questions/24059773/correct-way-to-pass-multiple-values-for-same-parameter-name-in-get-request does describe the problem in all the details. I cannot influence the server code implementation and have to find a solution now. The current implementation by the server is done by an URL &id=1&i2=1&id=3 and the syntax id=[1;2;3] is not supported. Today the Delphi implementation of TRESTRequestParameter does only allow unique parameter names which is actually not that bad. Perhaps somebody has already solved this problem? If not then I thought to extend TRESTRequestParameterOptions with a value poFlattenArrayContent. This would allow to patch TCustomRESTRequest.DoPrepareQueryString to a logic of flatten id=[1;2;3]- > &id=1&i2=1&id=3 I ask this issue here because others could benefit perhaps as well. And if I ha

Does anyone know where Delphi registers the data in the SDK Manager window?

Does anyone know where Delphi registers the data in the SDK Manager window? I've just upgraded XCode to support 11.3 and need to import the new SDKs into Delphi, but I have a number of extra frameworks and re-adding them individually is painful - especially as I need to do them for iPhone 64, 32 and Simulator. I'm happy manually edit whatever file or registry entry Delphi stores this into so I can do a quicker Copy/Paste but can't find where this is stored.. Does anyone know of a quicker way, or maybe where the saved data is?

CrossVcl 1.04 just released. It contains big bunch of fixes, best performance and few new implemented APIs.

Image
CrossVcl 1.04 just released. It contains big bunch of fixes, best performance and few new implemented APIs. History at: https://crossvcl.com/history.html More Info at: https://www.crossvcl.com We also have been working with 3rd-party vendors, here is a screenshot of upcoming EhLib 9.2 (currently in private beta) running on Ubuntu Desktop:

It's been many years since I last went to an ADUG (Australian Delphi Users Group) Symposium - but given that they are FOR THE FIRST TIME having one of the events in Perth, Western Australia - and that is only a 600 Km drive away, I am going. It is also being held in Melbourne.

It's been many years since I last went to an ADUG (Australian Delphi Users Group) Symposium - but given that they are FOR THE FIRST TIME having one of the events in Perth, Western Australia - and that is only a 600 Km drive away, I am going. It is also being held in Melbourne. Early bird pricing finishes soon - good value, good speakers - a good way to spend a day! http://www.adug.org.au/meetings/symposiums/2018-symposium/ If you do come to the Perth one I hope to see you there on 23 May! http://www.adug.org.au/meetings/symposiums/2018-symposium/

Fellow Delphi developers

Image
Fellow Delphi developers, This is with great pleasure that we announce the immediate availability of HelpNDoc 5.7, an easy to use yet powerful help authoring tool producing CHM help files, responsive HTML 5 and mobile Web Sites, DocX and PDF manuals, ePub and Kindle eBooks as well as Qt Help files from a single source. HelpNDoc is Free for personal use and evaluation purposes and is available at: http://ow.ly/uN2L30jx29t HelpNDoc 5.7 provides many new features and enhancements including a completely redesigned library items editor, which is now not only faster but also easier to use; advanced library items related tools such as the ability to export included library items or convert pictures to image maps and vice versa; better and faster popup previews of library items, including external pictures; and many additional enhancements and bug fixes. You can learn more about this update at: http://ow.ly/N79w30jx223 Download HelpNDoc now and use it for free for personal and evaluation purpo

Do all IBX variants have memory leaks with blob cache?

Do all IBX variants have memory leaks with blob cache? We are using Mercury Database Objects, that is fork of IBX and I just noticed, that when using it to copy record to different database memory usage continued to grow and grow. And it was unidirectional dataset with "select * from tablename" query. And the table had 1 memo field. And checking around I discovered, that every time blob stream is created it checks record buffer in blob cache part for existing internal stream, that is used. And if it does not have it already, it creates new, adds reference to record buffer and adds it FBlobStreamList. And when fetching new record those references in record buffer are set to nil, but they remain in the FBlobStreamList, that is not cleared until closing dataset. So for every row in dataset new stream object is created. I checked another fork of IBX and it seems to have same problem. And same is true for IBX from Delphi XE. Obvious solution would be to call ClearBlobCache, when f

We are glad to announce that DelphiStyles and FMXLinux 1 year online together!

Image
We are glad to announce that DelphiStyles and FMXLinux 1 year online together! Thanks to all our customers and Thanks to all our members, who have attention to our products! In this regard, we offer 15% discount for all KSDev's Bundles. Please, visit our order page to see more info: https://www.ksdev.com

"Object Pascal: Immutable State"

"Object Pascal: Immutable State" New blog article by Marcos Douglas B. Santos around the Pascal/Delphi language for https://tmssoftware.com/site/ https://www.tmssoftware.com/site/blog.asp?post=453 https://www.tmssoftware.com/site/blog.asp?post=453

Unmentioned Delphi 10.2 Tokyo's bugfix:

Unmentioned Delphi 10.2 Tokyo's bugfix: Parallel Programming Library can be used in DLL now! In earlier versions TThreadPool will cannot auto shutdown in DLL. Which causes FreeLibrary freeze after using TTask or TParallel. Delphi 10.2 add the following code in the end of System.Threading: {$IFDEF MSWINDOWS} var OldDLLShutdownProc: procedure = nil; procedure DLLShutdown; begin ShutdownThreadPool; if @OldDLLShutdownProc <> nil then OldDLLShutdownProc; end; procedure RegisterDLLShutdown; begin OldDLLShutdownProc := DLLShutdownProc; DLLShutdownProc := @DLLShutdown; end; initialization if IsLibrary then RegisterDLLShutdown; {$ENDIF MSWINDOWS} end.

Unmentioned Delphi 10.2 Tokyo's nice features:

Unmentioned Delphi 10.2 Tokyo's nice features: CPUID: e.g. Get CPU sn without asm: function GetCPUSN: String; var LCPUID: TCPUIDRec; begin // First Core of First CPU SetProcessAffinityMask(GetCurrentProcess, 1); // Get CPUID LCPUID := GetCPUID(1); // Convert to HEX string result := LCPUID.EAX.ToHexString(8) + LCPUID.EBX.ToHexString(8) + LCPUID.ECX.ToHexString(8) + LCPUID.EDX.ToHexString(8); end;

Playing with SQL

Playing with SQL https://youtu.be/v1B2zkm9w5Q https://youtu.be/v1B2zkm9w5Q

Hi

Hi How i can export / serialize a query result dataset to json in optimize mode ? and re-import dataset in EDB dataset. Client and Server use always EDB (Elevatesoftware) db engine, i need a TEDBQuery.dataset.ExportJson... For a a local datasnap call. Berlin Last EDB

Regular Expression Benchmark (https://pyscripter.blogspot.gr/2018/04/benchmark-of-regular-expression-engines.html). You may find it interesting and surprising.

Regular Expression Benchmark ( https://pyscripter.blogspot.gr/2018/04/benchmark-of-regular-expression-engines.html ). You may find it interesting and surprising.

Question for the mob:

Question for the mob: I have something like this in my main VCL Form: for aa in AList do for bb in BList do for cc in CList do xyz.DoThisAndWaitForAsyncProcess(aa.n1, bb.n2, cc.n3) I know how to do this if it's in a thread, and I swear I've seen solutions for it in a form within the VCL, but I'm drawing a blank. The async process could be anything that takes a while and is done in another thread, like running a DB query on a server that takes a while; doing some complex data manipulation; or in this case, playing an audio file. Things that can take many seconds if not longer to complete. I want to to act as if it's a synchronous call in this case, but there's no synchronous API. The API call returns immediately, and there's an event handler callback that's triggered when the async process completes. Note that there's no way to queue up all of these events first as later ones can be dependent on earlier ones. So I need to process each one and

Time Limited Full Version available for Nexus Quality Suite. Passing along a link: "Until 1st July 2018, enjoy the free use of our Nexus Quality Suite! All you need is an email address to receive your unique code during installation." The current collection of tools include three profilers (Line, Block and Method level), a unit test coverage analyzer, a GUI script recorder/playback tool, and the famous CodeWatch tool to detect memory and resource leaks. https://www.nexusdb.com/support/index.php?q=NQSFreeFull

Time Limited Full Version available for Nexus Quality Suite. Passing along a link: "Until 1st July 2018, enjoy the free use of our Nexus Quality Suite! All you need is an email address to receive your unique code during installation." The current collection of tools include three profilers (Line, Block and Method level), a unit test coverage analyzer, a GUI script recorder/playback tool, and the famous CodeWatch tool to detect memory and resource leaks. https://www.nexusdb.com/support/index.php?q=NQSFreeFull https://www.nexusdb.com/support/index.php?q=NQSFreeFull

Ann: Nexus Quality Suite - Time Limited Full Version available

Ann: Nexus Quality Suite - Time Limited Full Version available The Nexus Quality Suite (NQS) is the direct descendant of the prize winning SleuthQA toolset from TurboPower. It is a set of tools that enables you to finetune your applications to the highest possible performance and quality standards. The current collection of tools include three profilers (Line, Block and Method level), a unit test coverage analyzer, a GUI script recorder/playback tool, and the famous CodeWatch tool to detect memory and resource leaks. To give you a proper chance to get to know the product, we are making available a time limited FULL version of NQS. Please use the link below to download the installer. https://www.nexusdb.com/support/index.php?q=NQSFreeFull regards, The NexusQA Team https://www.nexusdb.com/support/index.php?q=NQSFreeFull

Buen día, voy con mi primer consulta, de que manera envían mails desde sus aplicaciones ?, yo utilizo el componente JvMail pero del año pasado hasta ahora tengo algunos clientes donde no logro que funcione, cuando trata de abrir el cliente de correo da el siguiente error :

Buen día, voy con mi primer consulta, de que manera envían mails desde sus aplicaciones ?, yo utilizo el componente JvMail pero del año pasado hasta ahora tengo algunos clientes donde no logro que funcione, cuando trata de abrir el cliente de correo da el siguiente error : MAPI Error: (2) "General MAPI failure". JclMapi.MapiCheck JvMail.TJvMail.ErrorCheck JvMail.TJvMail.SendMail En algunas pc bajando las ultimas actualizaciones de windows se acomodo. Probé con el componente INDY SMTP pero no me doy cuenta como dejar una copia en la carpeta de enviados de la casilla de correo. Y no se si directamente se puede hacer que abra el cliente de correo como JvMail. Y por ultimo intente con Shellexecute pero me fue imposible adjuntar un archivo. No da error alguno pero NO adjunta el archivo. Resumiendo. 1) JvMail (a alguien le paso lo mismo con el error que mencione?) 2) SMTP Indy (se puede abrir el cliente de correo como en JvMail?) 3) SMTP Indy (se puede dejar una copia en bandeja

Interesting perspective by Nick Hodges about stackoverflow and how a small number of rude users can spoil a great resource. Delphi has its fair share. He cites this example of how not to respond to a Delphi stackoverflow question, at least by the commenters. The questioner did in the end get reasonable answers

Interesting perspective by Nick Hodges about stackoverflow and how a small number of rude users can spoil a great resource. Delphi has its fair share. He cites this example of how not to respond to a Delphi stackoverflow question, at least by the commenters. The questioner did in the end get reasonable answers https://stackoverflow.com/questions/49693675/what-is-amp-lt-amp-gt-in-delphi http://www.codingindelphi.com/blog/in-which-i-pontificate-about-stackoverflow/ https://stackoverflow.com/questions/49693675/what-is-amp-lt-amp-gt-in-delphi

FMX Application with Delphi 10.2

FMX Application with Delphi 10.2 We would print on Printer.Canvas some Wingdings chars but all solutions found on Internet are not helping us. In a recent (2016) Stack Overflow post someone suggested this example code Canvas.Font.Name := 'Wingdings'; Canvas.Font.Charset := SYMBOL_CHARSET; for i := 128 to 128 + 21 do Canvas.TextOut(0, 20 * (i - 128), AnsiChar(i)); that we are not able to use since the lack of Charset property and textout method (using FillText does not print the expected Wingdings symbol, maybe for the lack of proper charset or maybe for some unicode conversion problem that we had to consider?). Thanks for your help!

I'm confuse...what is the purpose of this method ?

I'm confuse...what is the purpose of this method ? function TStream.ReadData(Buffer: Pointer; Count: Longint): Longint; var Buf: TBytes; I: Integer; begin SetLength(Buf, Count); Result := Read(Buf, 0, Count); for I := 0 to Result - 1 do PByteArray(Buffer)^[I] := Buf[I]; end;

Bogus W1036 ?

Bogus W1036 ? Documentation: http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Variables_(Delphi) "If you do not explicitly initialize a global variable, the compiler initializes it to 0." Code: {$APPTYPE CONSOLE} var i: Integer; begin Writeln(i); end. [DCC Warning] Project1.dpr(6): W1036 Variable 'i' might not have been initialized

Following recent bug findings, anybody up for a TryStrToFloat mini "fast code" challenge ?

Following recent bug findings, anybody up for a TryStrToFloat mini "fast code" challenge ? You could contribute in two ways: - code implementations :) - testing material ! Testing material would be either special cases or datasets of actual float strings you encounter in the field (ideally streamlined in "one float per line" plain text files) The aim would be performance while being "as good as" historical 32bits StrToFloat on both Delphi 32 and 64 bit compilers in terms of precision. So without C's strtod correctness requirements, as that would be staring at an abyss of complexity I assume very few of us need (cf. http://www.exploringbinary.com/how-strtod-works-and-sometimes-doesnt/ for a peek at the abyss)

Last video for this week!

Last video for this week! On "TMS Web: Alignment and anchors", by Holger Flick for TMSsoftware https://www.youtube.com/watch?v=EIRUOlzmlIw&t=12s For more videos on TMS WEB Core visit: https://www.tmssoftware.com/site/tmswebcoreintro.asp#videos https://www.youtube.com/watch?v=EIRUOlzmlIw&t=12s

git with several related Delphi projects

git with several related Delphi projects We've got a large Delphi project that is mostly in one folder. But it has custom components in several other folders above the main folder, and it has several maintenance apps in different peer folders to the main folder, as well as another folder with files that are common to all of them. I'm not very familiar with git, and I'm wondering what the best way to track things would be in this situation. Do we need to track individual folders? Or can we track the main folder for a given project and all other folders that have files that contribute to it?

We can define type for normal procedure or method, like

We can define type for normal procedure or method, like type t = procedure(x: integer) of object; But is there way to define type for constructor? type c = constructor(...) not compiles.
Buenos dias, hay alguna comunidad en español donde se traten todos estos temas? gracias

need input

need input what is the best component cross platform, can extract tabel to excel withou msoffice installed, or save to file using template or do with pivot (like xlreport afalinasoft) i want to migrate my desktop app (d7, nativeExcel3, xlreport) to web with unigui (all design plan using cross platform component)

Bad...

Bad... https://techcrunch.com/2018/04/11/apple-starting-to-alert-users-that-it-will-end-32-bit-app-support/ https://techcrunch.com/2018/04/11/apple-starting-to-alert-users-that-it-will-end-32-bit-app-support/

How to format frxCrossObject in fastreport

How to format frxCrossObject in fastreport, i dont know how to get access cell memo, from demo PrintTable, i want set number format if field is numeric procedure TForm1.frxReportTableOriginalBeforePrint(Sender: TfrxReportComponent); var Cross: TfrxCrossView; tmp : TfrxCustomMemoView; i, j: Integer; begin if Sender is TfrxCrossView then begin Cross := TfrxCrossView(Sender); FTabel.First; i := 0; while not FTabel.Eof do begin for j := 0 to FTabel.Fields.Count - 1 do begin Cross.AddValue([i], [FTabel.Fields[j].DisplayLabel], [FTabel.Fields[j].Value]); if FTabel.Fields[j] is TNumericField then begin tmp := Cross.CellMemos[j]; // -------------------------- > FAILED tmp.HAlign := haRight; TfrxFormat(tmp.DisplayFormat).DecimalSeparator := ','; TfrxFormat(tmp.DisplayFormat).Kind := fkNumeric; TfrxFormat(tmp.DisplayFormat).FormatStr := '%2.0n'; end;

Hello everyone. I am using a MediaPlayer component to play a sound (on a mobile) that I previously sent from another device (mobile too) through the microphone. But I need to redirect the audio output to the headset instead of the general speaker in the receiving device that contains the MediaPlayer component. The problem is that the audio is heard in the multimedia speaker at full volume and I would like to lower the volume of this speaker to a minimum and only emit this sound through the speaker of the phone when putting it on the ear (I do not know if I explain well).

Hello everyone. I am using a MediaPlayer component to play a sound (on a mobile) that I previously sent from another device (mobile too) through the microphone. But I need to redirect the audio output to the headset instead of the general speaker in the receiving device that contains the MediaPlayer component. The problem is that the audio is heard in the multimedia speaker at full volume and I would like to lower the volume of this speaker to a minimum and only emit this sound through the speaker of the phone when putting it on the ear (I do not know if I explain well). Greetings and thanks. Sorry, This would be for Firemonkey (Android).

We are glad to announce that all existing FM styles have been updated!

Image
We are glad to announce that all existing FM styles have been updated! Added new objects - tinted (colorized) button and tool button with gear icon. The latest were updated platform-specific styles for Windows, macOS and Ubuntu (FMXLinux required). Take a look Office UI for different platforms...

Final bug of my day:

Final bug of my day: https://quality.embarcadero.com/browse/RSP-20353 {$APPTYPE CONSOLE} var I: Integer; U64: UInt64; D: Double; begin I := 1; U64 := $8000000000000000; D := I * U64; Writeln(D); U64 := $7fffffffffffffff; D := I * U64; Writeln(D); Readln; end. Under dcc32 all is well, the output is 9.22337203685478E+0018 9.22337203685478E+0018 but under dcc64 it all goes south -9.22337203685478E+0018 9.22337203685478E+0018 Looks like the compiler authors still haven't found all the parts of the code that treat UInt64 as though it were Int64. All these bugs (5 reports, but more bugs) from one simple SO question yesterday about StrToFloat........ https://quality.embarcadero.com/browse/RSP-20353

And my run of bugs continues: https://quality.embarcadero.com/browse/RSP-20351

And my run of bugs continues: https://quality.embarcadero.com/browse/RSP-20351 This program: {$APPTYPE CONSOLE} var D: Double; U64: UInt64; begin D := high(UInt64); Writeln(D); U64 := high(UInt64); D := U64; Writeln(D); Readln; end. should output 1.84467440737096E+0019 1.84467440737096E+0019 but in fact outputs -1.00000000000000E+0000 1.84467440737096E+0019 I guess the compiler generates code as if the constant value was treated as a signed Int64. Shout out to Stefan Glienke for bringing this one to my attention. I have one more bug that I have seen, but not yet submitted. Quite amazing what can be found with a little bit of effort. Imagine if the Emba team put in some serious testing effort? https://quality.embarcadero.com/browse/RSP-20351

Hi All

Hi All I am trying to stream a video from an HTTP address to a tmediaPlayer on Android. The video streams just fine, however when I rotate the phone into landscape or back, it crashes. I get segmentation (1,1) error and the app crashes on Android. I have posted this on the Embarcadero forum, but no response there at all. Thanks for any ideas anyone!

Another day, another bug. This one a rather nasty one in the x64 compiler.

Another day, another bug. This one a rather nasty one in the x64 compiler. Consider this program: {$APPTYPE CONSOLE} uses System.SysUtils; var D: Double; begin Writeln(fsZero=D.SpecialType); Writeln(fsNZero=D.SpecialType); D := -D; Writeln(fsZero=D.SpecialType); Writeln(fsNZero=D.SpecialType); Readln; end. It should output TRUE FALSE FALSE TRUE It does so on x86. On x64 it outputs TRUE FALSE TRUE FALSE The reason being that Emba implemented floating point negation on x64 by compiling -d as 0 - d Which is a different thing. The right thing to do is to load the value into an XMM register, and then xor it with 8000000000000000h. https://quality.embarcadero.com/browse/RSP-20350 That's three bugs in two days! https://quality.embarcadero.com/browse/RSP-20350

Child Forms opening in the background

Child Forms opening in the background Folks We have a problem with our project and I wondered if anyone can resolve it or shed light on it. We have a large project and it is a database application written entirely in Delphi 10.2.3; although it started life in Delphi 5 It is a 85Mb (x86) or a 112Mb (x64) Windows executable. Our target OS is Windows 10. We don't do anything clever with our forms, except that we will create them on the fly, not auto create them in the DPR. The only form auto created is the main form. We have noticed over the last two years that occasionally a form will open in the background rather than the foreground. We think this may be because the form being opened is taking a long time to essentially "open", due to; in the most; queries needing to be run However we are noticing that if we right lick on the executable in explorer and select Properties, Compatibility and check "Run this program in compatibility mode for:" and set it to either W

New video for today!

New video for today! On "TMS Web: Data Modules", by Holger Flick https://www.youtube.com/watch?v=dta4_eWGkek&t=13s @TMSsoftwareNews https://www.tmssoftware.com/site/tmswebcoreintro.asp https://www.youtube.com/watch?v=dta4_eWGkek&t=13s
After 10.2.3, does means all firemonkey ui component are thread safe?

New release: TMS Component Pack v8.8.7.0

Image
New release: TMS Component Pack v8.8.7.0 https://www.tmssoftware.com/site/tmspack.asp

Tutorials on two CDATA Enterprise Connector components

Tutorials on two CDATA Enterprise Connector components Hi folks, I've posted a couple tutorial on the basics of using the CDATA CSV and Gmail Enterprise Connector components. (Information on the connectors is at https://www.embarcadero.com/products/enterprise-connectors ). You can see the posts at https://cppthingsblog.wordpress.com/ . The code is in C++ but the information is relevant to Delphi too. Greg Reese https://cppthingsblog.wordpress.com/

Who can guess what value is returned by

Who can guess what value is returned by StrToFloat('߀') if the PUREPASCAL version of StrToFloat is used ....... Make sure that you copy and paste the code above rather than re-typing it. To spoil the surprise read this: https://stackoverflow.com/a/49736812/ https://stackoverflow.com/a/49736812/505088

TFrameStand: added a new demo mimicking Android's Bottom Sheet UI pattern #Delphi #TFrameStand #UI #Android

Image
TFrameStand: added a new demo mimicking Android's Bottom Sheet UI pattern #Delphi #TFrameStand #UI #Android https://blog.andreamagni.eu/2018/04/tframestand-new-bottomsheet-demo/

Anyone had this problem?

Anyone had this problem? [DCC Error] E2597 ld: file not found: /usr/lib/system/libcache.dylib for architecture arm64 I tried to install SDK 11.3 on Tokyo 10.2.3 and started getting all these linker problems. I removed that SDK, and now cannot even link on 10.3.1 - see above error. Anyone know how to resolve these errors once and for all?? thanks

I'm new on Mac and have question:

I'm new on Mac and have question: How to check typed login/password pair on Mac that this is correct account data? I'm interested to local computer accounts and Open Directory accounts

How we can use the new mobile-support in the pro-versions with the Licence server.

How we can use the new mobile-support in the pro-versions with the Licence server. We received the keys for them, but it as far as I know we can't use them. (Because licence comes from the server and we can't give IDE the new keys in any way I think) As the Emba-support does not pick this matter up, lets try from here. Asked this in 10.2.3 webinar mu did not receive answer (audible one at least) Any ideas Marco Cantu Jim McKeeth etc?

How we can use the new mobile-support in the pro-versions with the Licence server. We received the keys for them, but it as far as I know we can't use them. (Because licence comes from the server and we can't give IDE the new keys in any way I think)

How we can use the new mobile-support in the pro-versions with the Licence server. We received the keys for them, but it as far as I know we can't use them. (Because licence comes from the server and we can't give IDE the new keys in any way I think) As the Emba-support does not pick this matter up, lets try from here. Asked this in 10.2.3 webinar mu did not receive answer (audible one at least) Any ideas Marco Cantu Jim McKeeth etc?

I'm working on a TMainMenu that allows users to select a language.

I'm working on a TMainMenu that allows users to select a language. Assigning this string (the first token of which is a Japanese font): 日本語 (Japanese) to a TMenuItem's .Caption property results in the Berlin 10.2 Update 2 VCL displaying this text on the menu item: 日本語 (Japanese)(J) Why is the (J) appended at the end? Something to do with Unicode? Any suggested fixes?

TMemoryStream deprecation

TMemoryStream deprecation I used to use TMemoryStream class but now I see following comment on it in System.Classes.pas end; // deprecated 'Use TBytesStream'; So it sends mixed signals if it is deprecated then why is it commented out and if it is not deprecated then why is this comment even there? Can someone clarify?

HTML Component Library, HTML Editor Library and HTML Report Library 3.64 released.

HTML Component Library, HTML Editor Library and HTML Report Library 3.64 released. What's new: https://delphihtmlcomponents.com/new364.html Fixes: https://delphihtmlcomponents.com/fixed364.html This is mostly a maintenance update, but version 3.7 with competely new layout engine and other great improvements will be released soon. https://delphihtmlcomponents.com https://delphihtmlcomponents.com/new364.html

New video for today!

New video for today! On "TMS Web: Embedding content", by Holger Flick https://youtu.be/xITroRiZjmM For more videos on TMS WEB Core visit: https://www.tmssoftware.com/site/tmswebcoreintro.asp#videos https://youtu.be/xITroRiZjmM

Anybody here knows since when we don't have to write when calling generic ProcSomething(param: T)?

Anybody here knows since when we don't have to write when calling generic ProcSomething (param: T)? It was brought to my attention today that the following code compiles and works as expected and I was quite surprised. program Project17; {$APPTYPE CONSOLE} {$R *.res} uses System.SysUtils; type TGeneric = class class procedure GuessTheType (const value: T); end; var x: Exception; s: TSimpleRWSync; { TGeneric } class procedure TGeneric.GuessTheType (const value: T); begin end; begin TGeneric.GuessTheType (x); TGeneric.GuessTheType(x); TGeneric.GuessTheType(s); end. A quick look into the generated assembler code proves that the type is indeed resolved correctly: Project17.dpr.26: TGeneric.GuessTheType (x); 0041C530 8B151C484200 mov edx,[$0042481c] 0041C536 A1F4974100 mov eax,[$004197f4] 0041C53B E84CD3FFFF call TGeneric.GuessTheType Project17.dpr.27: TGeneric.GuessTheType(x); 0041C540 8B151C484200 mov edx,[$0042481c] 0041C546 A1F4974100

Working with Delphi 10.2.3 on Windows 10 with 125% scaling (120 dpi). I would like to debug some HighDPI scaling-related issues in my VCL application. The application includes a manifest declaring the app as dpiAware. Running the application from the IDE (with and without debugger), the app runs on virtual 96 dpi and is scaled up by Windows, making the issues I would like to debug to not appear.

Working with Delphi 10.2.3 on Windows 10 with 125% scaling (120 dpi). I would like to debug some HighDPI scaling-related issues in my VCL application. The application includes a manifest declaring the app as dpiAware. Running the application from the IDE (with and without debugger), the app runs on virtual 96 dpi and is scaled up by Windows, making the issues I would like to debug to not appear. But when I run the application outside the IDE (started by doubleclicking the exe in Explorer), Windows respects the application manifest and let the application scale itself to 125%. But now I can't debug :-( Any ideas how to solve this?
Hello, does anyone know how to play the default ringtone in firemonkey (android)? Thanks.
Hello, did anyone noticed that in 10.2.3 version could not load dll's thru CreateComObject ? Is there a bug of Delphi?

Has anyone had experience in getting banner ads working with AdMob within a delphi app?

Has anyone had experience in getting banner ads working with AdMob within a delphi app? I’ve tried with both iOS and Android but get an “ad inventory not available” on iOS, did a bit of googling and it seems like this may be trying to use the deprecate iAd platform? Not 100% sure. I’m looking at the jvesoft components but I’m not filled with confidence when their website says it “should” work on iOS and Android... need something a bit more definite than “should” to part with my money. Has anyone got this working successfully? If so, can you share which components/methods you used to do this? Thank you!

I just wanted to really thank this community and David Heffernan from StackOverflow

I just wanted to really thank this community and David Heffernan from StackOverflow I've read about 'rubber ducking' and thought of it as a good thing, but I never really use/did it. Also I knew that SO showed me the value of MCVE, either from my own questions or by reading others, especially the ones where I wanted to slap posters for not including MCVE and fighting in comments with everybody that they can just setup this and that in Delphi and they will magically see the issue and solve it for them :) But today, I thought I was chasing a Delphi 10.1 Berlin compiler bug, and I was setting up MCVE to post here. So I'm stripping it down and thinking hopefully the bug is fixed in Tokyo release, and excitement of discovering a compiler bug and frustration at the same time that I need to deal with this right now... also kind of talking not loud, just whispering and explaining it to the community... Well, after 10 minutes of stripping down the unnecessary code around an iss

Inline scoped enums bug?

Inline scoped enums bug? As a nested type in a class you cannot access A: type TC = class public type TBar = set of (A, B, C); end; Neither A, nor TBar.A, nor TC.TBar.A works in Delphi 10.2.

As you probably know, Google stopped supporting Windows XP and Vista in Chromium years ago.

As you probably know, Google stopped supporting Windows XP and Vista in Chromium years ago. CEF4Delphi was created to embed Chromium-based browsers in Delphi applications using the latest CEF branch and that means that it doesn’t support those old operating systems. Several people asked me to add Windows XP support to CEF4Delphi but that would be really messy so I decided to create a separate project called “OldCEF4Delphi”. From the development point of view, OldCEF4Delphi is almost the same as CEF4Delphi but it uses an old CEF branch compatible with Windows XP. https://github.com/salvadordf/OldCEF4Delphi https://github.com/salvadordf/OldCEF4Delphi

Given a Delphi with mobile license and a simple Android FMX App written with it.

Given a Delphi with mobile license and a simple Android FMX App written with it. What would I have to do to get it into Google Play? What costs would be involved?

We just updated 5 existing non-flat FM Styles!

Image
We just updated 5 existing non-flat FM Styles! Especially improved "Charcoal Expressive" and "Sienna Green Light" styles. - "Charcoal Expressive" https://www.delphistyles.com/fmx/CharcoalExpressive.html - "Cornflower Blue Expressive" https://www.delphistyles.com/ …/CornflowerBlueExpressive.html - "Madison Dark": https://www.delphistyles.com/fmx/madisondark.html - "Sienna Green Light" https://www.delphistyles.com/fmx/SiennaGreenLight.html - "Wedgewood Light" https://www.delphistyles.com/fmx/WedgewoodLight.html

NexusDB takes the next step in support - announcing Telegram Peer-to-Peer Chat group

NexusDB takes the next step in support - announcing Telegram Peer-to-Peer Chat group Telegram is a popular chat application with strong security. It supports many platforms, including mobile and web browsers. If you don't already have it, get it from the attached link. Once you have Telegram running, search for this group name to join: NexusDB Peer To Peer Chat Please note that the main purpose of the chat is to get fast peer support or discuss difficult cases. NexusDB staff are often active in the chat, but are not guaranteed to be present at all times. Please also note that just because it is normal business hours at your place, it is very likely that other logged on people are in a different part of the world. Also keep in mind that an immediate response may not be possible, so please be patient. The chat is public, and participants are expected to follow normal etiquette. https://telegram.org/

Just a little promotion of Delphi. My son is getting into music and I got him a copy of FL Studio Pro which is written in Delphi. Awesome tool

Just a little promotion of Delphi. My son is getting into music and I got him a copy of FL Studio Pro which is written in Delphi. Awesome tool I hear there is a beta of it on the Mac. Does anyone know if the Mac version is also in Delphi? (with FMX?)
How can I achieve the same behavior of Android WRAP_CONTENT option using TLayout targeting iOS platform.

Have any of you tried to make a mirror of the Jedi VCS to a git repository?

Image
Have any of you tried to make a mirror of the Jedi VCS to a git repository? It seems that https://cdn.kernel.org/pub/software/scm/git/docs/git-cvsimport.html can connect, but it does not work...

New video by Holger Flick

New video by Holger Flick FNC UI: Enabled for the web! https://www.youtube.com/watch?v=suWPXLNZ_wo For more video on TMS WEB Core visit: https://www.tmssoftware.com/site/tmswebcoreintro.asp#videos

Hi Folks

Hi Folks, a big thanks to the people that joined the PyScripter translation team after my last requests for help. Many translations have made a big step forward as you can see here: https://www.transifex.com/luebbe/pyscripter/languages/ Unfortunately we haven't found a translator for Japanese, Kabyle and Slovak yet. Polish, Portuguese (BR and PT) as well as Turkish are still in their early stages. Arabic is half done, but all of them could need a little boost. So if you're fluent in one of the above languages and you are willing to spend a few hours of your time, please help with the translation(s). Head over to transifex.com and join one of our language teams. Cheers & thanks - The PyScripter team https://www.transifex.com/luebbe/pyscripter/languages/

Originally shared by TRichView

Image
Originally shared by TRichView We have released a beta update of our rich text editing and reporting #VCL components for #Delphi and #CBuilder: #TRichView 17.3, RichViewActions 7.1, ScaleRichView 8.2. In this update, all strings are converted to Unicode for all versions of Delphi, where it is possible. The new version supports Unicode characters that have codes greater than $FFFF (in UnicodeString, they are represented by two characters). "Insert Symbol" dialog is reworked, now it supports all blocks specified in the modern Unicode standard. There are some other improvements. For example, reading merge fields from RTF, exporting links to URLs in PDF in #ReportBuilder wrapper, optimization. Additional information about this update: http://www.trichview.com/forums/viewtopic.php?f=6&t=9089

Hello

Hello, got a question for 10.2.3 This Code works well for XE7 but in 10.2.3 i get E2008 Error (Incompatible type) type THelper = record class procedure TryCatchExecute (AProc: TProc );static; end; { THelper } class procedure THelper.TryCatchExecute (AProc: TProc ); begin try AProc(T); <-- this does not work except on E: Exception do // do some handling end; end;

strange image printing issue (VCL)

strange image printing issue (VCL) We've got a situation where users scan in some images and attach them to a "claim", which is a collection of database records. The main app only lets them scan in jpg and tiff files, and they can attach jpg, tiff, and txt files separately. These attached files are stored in a BLOB field in the DB record (it's an Oracle DB). A separate program is used to go through the list of claims and print out any that are flagged to be printed. This whole process is working, more or less. But there's a quirk that has just been discovered. (Actually, it seems that it has been around quite a while, but nobody reported it.) Sometimes, some of the scanned images will be printed in a "magnified" or "zoomed" fashion. So, for example, most cases seem to take the upper-left 1/4 page of an image (typically a normal letter-sized page) and double its size, filling the printed page with this zoomed 1/4-size image. This happens for rea

It was suggested in the 10.

It was suggested in the 10.2.3 announcement that a new roadmap would follow the release. Is there any idea on when this will be available? Marco Cantù David Millington

It was suggested in the 10.2.3 announcement that a new roadmap would follow the release. Is there any idea on when this will be available?

It was suggested in the 10.2.3 announcement that a new roadmap would follow the release. Is there any idea on when this will be available? Marco Cantù David Millington

Got this error in new project:

Got this error in new project: [DCC Error] E2597 ld: warning: directory not found for option '-FC:\Users\michal\Documents\Embarcadero\Studio\SDKs\iPhoneOS11.3.sdk\System\Library\PrivateFrameworks' ld: file not found: /usr/lib/system/libcache.dylib for architecture arm64 [DCC Fatal Error] F2588 Linker error code: 1 ($00000001) using tokyo 10.2.3 and xcode 9.3 + ios 11.3. Any idea what's wrong ?

TPath.GetPublicPath on Mac OS

TPath.GetPublicPath on Mac OS Hello, on Mac OS TPath.GetPublicPath is /Users/ /Public And this is different for users Where I can save application settings to store global application settings with will be available for all users?

Hot news from the fields of the cross-platform library "FGX Native" development.

Image
Hot news from the fields of the cross-platform library "FGX Native" development. New English Telegram channel about hot news in development of FGX Native library: https://t.me/fgx_native_en 0. Full webinar about features of FGX Native library and application development from scratch to launch where I showed the live work of the library in action. The webinar is on Russian for now but I'll try to hold one on English in the nearest time and review all library features. 1. DEBUGGER - Start-up and application debugging from the IDE Rad Studio are fully automated now! There wasn’t any debugging support in the IDE so far. - The set of challenges that we faced on our way to the usual debugging of applications through F9, F8, F7, are now conquered. So we can enjoy the proper debugging of the applications. 2. Platform stabilization. - The stabilization of the platform code let us focus on the replenishment of component base and the extension of functionality. - Due to the stabi