Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation on 04/12/24 in all areas

  1. I reported the issue to Embarcadero privately and they are looking into it.
  2. Dalija Prasnikar

    Request for advice: FireMonkey and Frames

    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.
  3. 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.
  4. Davide Angeli

    Delphi 12.1 is available

    https://embt.atlassian.net/servicedesk/customer/portal/1/RSS-611
  5. ErikT

    TeeChart constraints on automatic axis

    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.
  6. 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
  7. Lajos Juhász

    Custom Control for TDBCtrlGrid showing only active data

    During the Paint method you have to handle csPaintCopy in ControlState (you can check in Vcl.DBCtrls).
  8. 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.
  9. 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
  10. marsupilami79

    Release of Zeos 8.0.0

    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.
  11. Anders Melander

    Delphi 12.1 is available

    The new Atlassian slogan
  12. 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?
  13. Mavarik

    Request for advice: FireMonkey and Frames

    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
  14. Rollo62

    Request for advice: FireMonkey and Frames

    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;
  15. Rollo62

    Request for advice: FireMonkey and Frames

    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
×