Leaderboard
Popular Content
Showing content with the highest reputation since 04/04/24 in Posts
-
The new Atlassian slogan
-
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.
-
Delphi and "Use only memory safe languages"
David Heffernan replied to Die Holländer's topic in General Help
I don't really understand this. I always write the try/finally immediately after the construction, and always bang the Free in immediately. Then I fill out the body. It's just a habit that you form so that you don't make such mistakes. And honestly, this is never one that is hard to debug because you just have a leak. And presumably you use leak detection tools so that you'd always find them immediately. I don't really understand this scenario either. If you have a reference to something that may or may not exist, you would test Assigned() before using it. And when you were finished, you'd set the reference back to nil once you'd destroyed it. The scenario that is tricky is when you have multiple references to an object. -
Do you need an ARM64 compiler for Windows?
David Heffernan replied to Lars Fosdal's topic in Cross-platform
I think all in all, it's clear that the current in-process design is the right one -
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. -
Delphi and "Use only memory safe languages"
PeterBelow replied to Die Holländer's topic in General Help
Consequent use of interface references (with rerf counting for lifetime control) instead of object references avoids that problem completely. -
Delphi and "Use only memory safe languages"
Dalija Prasnikar replied to Die Holländer's topic in General Help
If you really need to have multiple references to an object, then use interfaces and ARC to manage lifetime. If not, then you will have to invent similar mechanism for managing the lifetime. -
Delphi and "Use only memory safe languages"
David Heffernan replied to Die Holländer's topic in General Help
It's odd you say that, but I never have to debug issues like this. There are two simple patterns for lifetime and they are so ingrained, nobody ever makes a mistake in my team. -
That's not how you do it. I doubt Remy will have time or motivation to look at whatever it is you have done. Fork the original repository. Make a branch. Apply your changes. Create a pull request to have your changes merged into the original repository. 2-4 should be done once per separate issue. A single issue that makes 20 unrelated changes probably has zero chance of being accepted.
-
Delphi and "Use only memory safe languages"
FreeDelphiPascal replied to Die Holländer's topic in General Help
obj := TObject.Create; FreeAndNil(obj); FreeAndNil(obj); ------------------------------ On SO somebody wrote an example like this to prove how unsafe Delphi is: s: String; i: Integer; begin s:= 'four'; for i:= 1 to 1138 do begin write( s[i] ); // What will it access after i=4? end; end; At one point, we should stop talking about how safe the programming language is and start talking about how "unsafe" is the programmer 🙂 🙂 -
Delphi and "Use only memory safe languages"
Anders Melander replied to Die Holländer's topic in General Help
Do you really want your code to be generated based on fuzzy statistics? How do you even verify the correctness of the results? I'd like mine to be based on strict patterns and known deterministic properties of those patterns. I think trying to solve these problems with AI is a bit like when some companies moves their stuff to the cloud; They don't understand how it works or know what is going on but now it's somebody else's problem. -
Strange bug with string literals in RAD Studio 12
Uwe Raabe replied to luebbe's topic in RTL and Delphi Object Pascal
Could be related to String with non-ASCII characters directly attached to a #xx or #$xx literal corrupts the final string Current workaround is to use a + operator to concatenate the parts. -
Again? What was old is new again - except my jokes.
-
Writing if statement in the Code Editor
Brian Evans replied to PeterPanettone's topic in Delphi IDE and APIs
Reproduced in Delphi 12.1 here - turned on hints and see the same thing. The hint window has broken positioning - the bottom of the hint window is where the top should be. Usually run with scale 125%, switched to 100% and the improper positioning is still there and looks the same. In addition the hint window should be moved further away or the drop shadow removed as it will obscure text. -
Is this an April 1 joke?
-
Yes, I fear it will. While I haven't used it yet and there's presently nothing there, I'm really afraid this just wiped out yet another small community. Tick tock, tick tock.
-
One option would be to add some operator overloading to TProductID: type TProductID = record ID: nativeint; public class operator Explicit(A: TProductID): NativeInt; overload; class operator Implicit(A: NativeInt): TProductID; overload; class operator Implicit(A: TProductID): string; overload; end; class operator TProductID.Explicit(A: TProductID): NativeInt; begin Result := A.ID; end; class operator TProductID.Implicit(A: NativeInt): TProductID; begin Result.ID := A; end; class operator TProductID.Implicit(A: TProductID): string; begin Result := A.ID.ToString; end; This allows to write something like this: var cid : TCustomerID; var pid: TProductID; pid := qryGetStockProductID.AsInteger; cid := qryGetStocCustID.AsInteger; --- procedure TForm6.AddToStock(pid: TProductID; cnt: nativeint); // Both uses internally nativeint begin ShowMessage(pid); end; Note that the operator to convert TProductID to NativeInt is Explicit instead of Implicit. That prohibits the use of TProductID as a NativeInt parameter and the compiler throws an error when the parameters to AddToStock are given in the wrong order.
-
Same thing happened to me re Ios Island 🙂 Following the live activities link leads to: https://developer.apple.com/documentation/ActivityKit/displaying-live-data-with-live-activities Which talks about using Widget Extensions, which are yet to be possible in Delphi, however there's a slim chance that the extension can "talk" to Delphi code: https://blog.grijjy.com/2018/11/15/ios-and-macos-app-extensions-with-delphi/ I have very little optimism about the possibility
-
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. -
Strange bug with string literals in RAD Studio 12
Sherlock replied to luebbe's topic in RTL and Delphi Object Pascal
Now where would be the fun in that? -
Strange bug with string literals in RAD Studio 12
Lars Fosdal replied to luebbe's topic in RTL and Delphi Object Pascal
The problem even shows up in the IDE. and the cure is the same as for compiled code -
My recommendation would be, to avoid 3rd Libraries as much as possible. Since FMX on Mobile is very volatile and Android/iOS change significantly every 6 months, it is very important not to rely on additional, possibly unstable, external components. My recommendation would be, to make as much as possible on your own. I can recommend DelphiWorlds-Kastri as a common life-saver, TMS FNC and other TMS components - since they are quite active, but I would still reduce any external reference as much as possible. Moreover, I would not directly try to port a desktop app to mobile. Better to start clean with a mobile-first app and then put your "desktop" functionality back step-by-step.
-
I guess they will be able to say that the numbers of bugs reported is going down and claim that indicates quality has improved.
-
Does it ever. Removes any collaboration between users. Also, without knowing if something is already reported hard to put in the effort to create a good report or find an uncomplicated way to reproduce - no idea if the effort will be wasted. I did not use the old one all that much but was happy to collaborate and help get the odd bug fixed. Like the dangling scrolls bars from code insight. With no collaboration not sure how that bug would ever have been fixed - reporter did not have a way to reproduce it, another person provided some insights and yet another (me in this case) was able to use that to find a way to reproduce. Then it was fixed in the next release which was nice to see. ([RSP-34111] Editor leaves dangling vertical scrollbar behind - Embarcadero Technologies)
-
Looking for a couple of good "starter" Delphi books
Nigel Thomas replied to t2000kw's topic in General Help
Don't get hooked up on just books. There is a lot of useful visual material on the Net that is targeted at Delphi beginners. Embarcadero's Helpful Resources for New Users has some good links to both books and visual resources.