Leaderboard
Popular Content
Showing content with the highest reputation on 04/12/24 in all areas
-
Strange bug with string literals in RAD Studio 12
Remy Lebeau replied to luebbe's topic in RTL and Delphi Object Pascal
I reported the issue to Embarcadero privately and they are looking into it. -
Request for advice: FireMonkey and Frames
Dalija Prasnikar replied to Lars Fosdal's topic in Cross-platform
Creating at run-time is pretty straightforward. You need Owner and Parent, and sometimes setting Align property. You can use any FMX control as those - or at least I have been able to use them without a problem. FFrame := TMyFrameClass.Create(AParent); FFrame.Parent := AParent; FFrame.Align := ... And that is it. -
Android PlayStore - Not so obvious - Change release details
Rollo62 posted a topic in Cross-platform
Hi there, I want to share some insights, to change the "Release notes" of an already published version, without uploading a new *.AAB version. From time to time you had just uploaded and publishes a new release, but you find some better or more description under the "Whats new" section of the Play Store. You can change this without uploading a new release, which is not so obvious, because this feature is a little hidden and it took some time to reveal its secrets. Here is the current workflow step-by-step: Enter App page in the PlayStore Enter Production tab on the left navigation bar Select Releases tab Click Manage Release on the right-hand side Scroll down to botton "Release Notes" Click "Edit release details" on the right-hand side Edit and Save Thats all, the changes will appear immediately in the PlayStore, without another review. Nice. -
https://embt.atlassian.net/servicedesk/customer/portal/1/RSS-611
-
When I began poking around, it turned out to be not-so-complicated after all. I've made this piece of code, which seems to work nicely: procedure AdjustAxis(WhichChart : TChart; MinInterval : Double); var ChartMaxY : Double; ChartMinY : Double; ChartCenter : Double; begin ChartMaxY := WhichChart.MaxYValue(WhichChart.LeftAxis); ChartMinY := WhichChart.MinYValue(WhichChart.LeftAxis); if ((ChartMaxY - ChartMinY) < MinInterval) then begin ChartCenter := (ChartMaxY + ChartMinY) / 2; WhichChart.LeftAxis.SetMinMax(ChartCenter - (MinInterval / 2), ChartCenter + (MinInterval / 2)); WhichChart.LeftAxis.AutomaticMaximum := false; WhichChart.LeftAxis.AutomaticMinimum := false; end else begin WhichChart.LeftAxis.AutomaticMaximum := true; WhichChart.LeftAxis.AutomaticMinimum := true; end; end; The parameters are WhichChart, which is the name of the chart, and MinInterval, which is the smallest acceptable numerical difference between minimum and maximum on the left axis. Must be positive, by the way. The chart graph is centered between maximum and minimum in the chart window. Of course it can be made smarter. For instance, this only works on the left axis. Feel free to use and modify.
-
How do I find my NNTP server name so that I can use XannaNews?
Angus Robertson replied to JohnLM's topic in General Help
I use been using the same two news readers for 25 years, Forte Agent and Ameol2 (very specialised for the UK). I read a number of uk news groups. But there are no active Delphi groups, since Embarcadero moved away from a web forum that allowed NNTP access. I have an account with https://www.astraweb.com/ they sell fixed usage so 25GB for $10 that will last for ever if you don't download binaries. One free news server is news.gmane.io that holds several mailing lists, I read OpenSSL mailing lists via it. Angus -
Custom Control for TDBCtrlGrid showing only active data
Lajos Juhász replied to Hugo Bendtner's topic in VCL
During the Paint method you have to handle csPaintCopy in ControlState (you can check in Vcl.DBCtrls). -
Best Practices for Database Development in Delphi with Firebird
Die Holländer replied to Noor's topic in VCL
Whatever you program in Delphi, compared with most other languages, it will stay RAD and you can focus on you actual problem instead for example fighting how to put things on the screen. It takes the Online department, with Node, Javascript and pumping JSON files through the internet, with three developers (backend, frontend and HTML/CSS designer) about one week for one screen. They calling Delphi old fashioned while I look to their source and problems as if they still live in the 1980's. -
FYI: Stumbled upon interesting ASM optimization trick LLVm can do (most likely others also)
Anders Melander replied to Tommi Prami's topic in Algorithms, Data Structures and Class Design
I have it and many of the techniques in it that were great 10-15 years ago are totally unnecessary today and even detrimental with modern CPUs. It's still a good read and even though some techniques are obsolete, knowing them can help solving other similar problems simply because they can make you think about problems differently. Um... Always? There used to be a time, not that long ago, when integer math was far superior to floating point math (see: Hackers Delight). Not so anymore. via https://stackoverflow.com/questions/2550281/floating-point-vs-integer-calculations-on-modern-hardware The video is a bit long so I haven't watched it yet, but it's LEA: Load Effective Address, "LEAL" is AT&T syntax for LEA (Intel syntax). Here's a good comment on the topic by Peter Cordes: Using LEA on values that aren't addresses / pointers? Before you start replacing all your shifts with LEA you should be aware that it isn't always faster. As with almost everything in modern CPUs it depends on what the CPU is otherwise busy with. https://stackoverflow.com/questions/70316686/assembly-why-is-lea-eax-eax-eaxconst-shl-eax-eax-const-combined-fast -
The Zeos Team is proud to announce the availability of Zeos 8.0.0 as a stable release. This is the newest stable version of Zeos. It deprecates Zeos 7.2, and any previous version of Zeos. We urge all people still using older versions of Zeos to upgrade. If you have any problems with Zeos 8.0, please get in contact with us on the forums or on the bugtracker. The most outstanding changes in Zeos 8.0 are Support for Delphi NextGen compilers to support Android, iOS and Mac OS X Two new bridge drivers for OleDB and ODBC A new driver that uses the Firebird interface based API for accessing Firebird versions 2.5 and above A special proxy server and an according driver that can be used to access any Zeos supported database using SOAP over HTTP(S) from (mobile) clients. Propper support for numeic and decimal fields by using TBCDField and TFMTBCDField Nested transactions using savepoints Two new components: TZTransaction and TZMemTable better overall performance and smaller memory footprint Besides these improvements Zeos has seen a ton of other additions and improvements. For an overview of the changes in Zeos 8.0 see the release notes. To download, the new version of Zeos please use this link.
-
The new Atlassian slogan
-
When creating frames runtime in VCL, there are a set of tweaks that need to be applied to make the frame behave properly after creation (setting parent/owner etc). Are there similar tricks needed for FireMonkey, and are there other pitfalls related to dynamically creating frames at runtime? Is it better to drop the frames on the main form at design time?
-
That's why I did not use frames at all... But with FMX there is no need for a "frame". For every content I create a Form with a TLayout. If there is any need to uses this content on a other form/tab/whatever, you just have to set the parent of the layout to the e.g. tab or any other layout on any other form. So easy... Frank
-
This works well for me in many places procedure Frame_Embed_To(const AFrame : TFrame; const ACarrier : TControl); begin if Assigned( ACarrier ) and Assigned( AFrame) then begin ACarrier.BeginUpdate; try AFrame.Parent := nil; AFrame.Parent := ACarrier; AFrame.Align := TAlignLayout.Client; finally ACarrier.EndUpdate; ACarrier.Repaint; end; end; end; procedure Frame_Embed_ReleaseFrom(const AFrame : TFrame; const ACarrier : TControl); begin if Assigned( ACarrier ) and Assigned( AFrame) then begin ACarrier.BeginUpdate; try AFrame.Parent := nil; finally ACarrier.EndUpdate; ACarrier.Repaint; end; end; end;
-
I was also hesitating to use Frames for many years, from some bad experieces under VCL, and especially in Designmode. For FMX I use Frames in some places very successfully, where I use designer to design them same like a form, and loading only via runtime into TRectangles. I checked also other carriers, like TPanel, TLayout, they all seems to work well. Since also the TFrameStand uses Frames as visual container, I feel quite sure about them now. I also use Interface with Frames, so that I'm able to create the frame in a factory, and using them via Interface elsewhere. Still I don't use Frames in Designmode, like dropping a component, since I think there are a lot of misconceptions. With good encapsulations, at runtime, they behave quite well, and I even can embed frames into frames in same way. Rollo