Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation on 11/28/23 in all areas

  1. Tommi Prami

    New in Firebird 5 - Part 1

    https://ib-aid.com/en/articles/detailed-new-features-of-firebird-5-part-1-improvements-in-optimizer My preliminary tests on our product(s) show that FB5 is clearly faster than FB4. Did not need to measure result, because you could see/feel it very easily. When you saw Vista Wheel with FB4, on top of FB5 you can't even see it, form just opens faster. For sure there will be some corner cases when some query, very carefully optimized for older version of FB will perform worse in FB5. At least always there had been some "regressions". But for every new Firebird release, there has been performance increase. FB5 is close to the release, so please evaluate is best as you can, and report any bugs or regressions ASAP, so they could be addressed before release. -Tee-
  2. David Heffernan

    Delphi 12 is available

    Yeah, pretty sure that's all that's needed. Can't believe nobody thought of that before.
  3. Anders Melander

    New proyect in Delfos

    What? Are you saying that this wasn't a good idea?
  4. Anders Melander

    New proyect in Delfos

    That's nonsense; RAD Server is not a replacement for DataSnap and DataSnap is not being discontinued. Actually, IMO it is more likely that RAD Server will be discontinued before DataSnap is.
  5. corneliusdavid

    Change Install Location

    It's the "Options" button and takes you to another page that is usually skipped; on that page, you can set the destination for both RAD Studio and the Catalog Repository folder, and also determine whether it's installed for "all users" (the default) or just the current user and whether or not to add a shortcut on the desktop.
  6. Alexander Sviridenkov

    HTML Library 4.8 Released

    Delphi 12 support. New htide unit - installed Delphi versions, Library paths, PAS and DCU parsing, etc. New demo (/Sample Projects/graph) - Unit dependency viewer. Video: https://youtu.be/ec0pOy2uY4w Compiled demo: https://delphihtmlcomponents.com/graph.zip Cairo canvas support on Linux and Windows for Delphi and Lazarus. Canvas supports precise text rendering so PDF and other documents converted by HTML Office library now can be properly displayed on Linux. PDF export on Linux via Cairo. Reports library now supports Lazarus Big upgrade of SQL framework: perform SQL queries on CSV and text files, JSON, XML, Excel, Outlook, SQL scripts and other sources. Video: https://www.youtube.com/watch?v=IzV9jZe6ksQ Compiled demo: https://delphihtmlcomponents.com/sqltest.zip Manual: https://delphihtmlcomponents.com/sql/ What it can do: Convert to/from CSV, JSON, XML, HTML, Excel, SQL script. Upload files/objects to database Export data from database Check data consistency Display data/objects in DB-aware controls, HtPanel, StringGrid, VirtualTreeview, ControlList Extend database capabilities (f.e. use Pivot in Firebird). Serialize and deserialize objects Reduce calls to REST server by using already loaded data. Supported data sources: CSV file JSON file JSON string XML file HTML file Text file with fixed size fields SQL script ZIP archive XLS/XLSX Excel sheet (requires HTML Office Library). Outlook PST/OST file (requires HTML Office Library). TList<T> TObjectList Any class with IEnumerable or GetEnumerator support TDataset array of T SQL Query Custom sources can be added by implementing IDMDatasource interface. Supported dialects: SQL 92 Oracle MS SQL Server Firebird MySQL PostrgesSQL SQLite ElevateDB Result can be exported to CSV XML JSON SQL script TDataset TStringList TObjectList SQL table HTML (plain table or using template) Array of variant Binary file or any other format, using custom processing of result data.
  7. Anders Melander

    Change Install Location

    I miss it every single time I need to install/update. Apparently, there are no UXers left at Embarcadero. Left-aligning the button would likely solve the problem but ideally, it should not be placed on the EULA page where one habitually just clicks through.
  8. I use a similar approach as aehimself for Window programs with an addition I saw in a Holger Flick video. He created a very simple static TController class and replaced the .dpr code with a single line: begin TAppController.Run; end. This way you don't have to add code to the .dpr which I have had cause trouble in the past since Delphi edits this file as well. You can add code to the Run procedure and not worry about messing things up. TAppController = class public class procedure Run; private class function CheckSingleton: Boolean; class procedure SetFocusRunningInstance; end; class function TAppController.CheckSingleton: Boolean; begin Result := FindWindow(WINDOW_CLASS_NAME, nil) = 0; end; class procedure TAppController.SetFocusRunningInstance; begin ShowWindow(FindWindow(WINDOW_CLASS_NAME, nil), SW_SHOWMAXIMIZED); end; class procedure TAppController.Run; begin Application.Initialize; Application.MainFormOnTaskbar := True; if TAppController.CheckSingleton then begin //Add conditional defines, splash screen whatever Application.Run; end else begin TAppController.SetFocusRunningInstance; end; end; Someone else (Can't remember where) also suggested setting the main form window to something unique you need to override the CreateParams of the Main form. procedure TfrmMain.CreateParams(var Params: TCreateParams); begin inherited; StrCopy(Params.WinClassName, WINDOW_CLASS_NAME); end;
  9. FreeDelphiPascal

    Delphi 12 is available

    You are right, we are going through dark ages (I would also call them sad ages). So, when are we all going to sign a petition to Embarcadero and ask for a modern Delphi that does not crash every 10 minutes, it is not stuck in the 2000 and does not have the fart-smell of an 100 grandpa? We should all promise that we won't buy next version until they really really fix it. And we want a true road map. Embarcadero should understand that they don't own Delphi. They cannot do whatever they want and when they want. We are the customers. They cannot release 12 new tiny features and pretend it worth buying Delphi 12 just for that. I mean, come on! I would be ashamed to tell my users that in the next version they will be able to write text on two lines instead of one! This is not something even worth mentioning. Presenting this like a brand new shiny feature means "Hi Delphi guys, we full around last year, then we were busy to fix some bugs that were not supposed to be there, and improve the C++ which nobody uses anyway, so for you, we didn't have much time left, but at least we did this impressive feature that lets you split your string on two lines. PS: you have to pay for it. PSS: you have to pay also for the bug fixes!". Have you seen how fast are other languages advancing? Take a look at Julia! High level language BUT in some benchmarks it beats the craps out of grandpa Delphi. And its costs... nothing! Slap a nice IDE as VS Code on top of it, and you got a nice environment. Updates? Every few weeks. I am afraid to admit it, but I think I am (we all are) in love with what Delphi was in 95, when it was indeed cutting edge. Now we are all a bunch of gray beards and bold heads. No new blood to Delphi. I haven't heard of a single new startup company that uses Delphi. All the jobs around are offered by companies that started in 90-95 with pascal/delphi. All of them hove now 2 million lines of legacy code and a desperate need of Delphi developers. I know a few of them that never-ever take down the Delphi job position because it is never filled. Or if they find a good (and pretty old) programmer every 2-3 it is not enough to replenish the big number of old programmers that now are at the retiring age. For each new programmer they put their hands on, two retires. And as the "new" programmer is close to retiring age also, it only perpetuates the avalanche. Been there, seen that with my own eyes. I was the young one there, even though I am not that young anymore. You also see the lack of Delphi programmers when the job is announced as Delphi "slash" C++. They try to lure-in some C++ Builder programmers this way. Trick them into a Delphi position. I personally try to promote Delphi. But all my kids around me (nephews, friend's children, etc) are going with the cool wave. The old PHP is getting to be the new cool kid in the town now. Internet technologies. C#. I am not saying they are better. But they are definitively "cool". Embarcadero, with all its old guys there (good guys/programmers but not in touch with the new generation, with the new ways) and with its "get the money first - give the quality later" policy is not "cool". And cool is ******** important, because you don't lure in into the language old die-hard C or ASM gurus, you want to lure in kids. My kid is having more fun with Delphi than with Scratch. But I wouldn't put him on a Delphi-career path. Not with Delphi's featured being almost sealed. Embarcadero! The time to reverse the tide is running out! Delphi opportunity window is almost almost closed! I do see some efforts from Embarcadero (some blogs, some barely-voted youtube videos, some shy promotions), and in general Embarcadero is going into the right direction. But too slow. Waaay too slow. The biggest positive move was the Community Edition. I would have paid > 1000 euros to buy a license for my kid! (I still don't have words to say how dismayed I am that Emba didn't offer a free license until few years ago!!!!!!!!!!!!!!!!!!!!!!!!!!!) Wellllll..... In theory, I should shut up and relax, and fave fun with Delphi until my retiring age comes. I never ever had problems getting income with Delphi. But I love Delphi too much. It will be such a shame for Delphi to get retired the same day I retire! I do the same! I never use a new released feature in the first 3-4 years. I wait for it to get ripe and stable. 🙂Well, some things like "skins" (styles), 64 bit compiler, obviously took more than 3-4 years. FMX, still way to go... How many years ago they announced first time that Delphi has support for high DPI? Today, I can't still build decent high dpi apps in Delphi. I personally, won't buy a new license until I get a usable version to worth the price. It simply not fair to pay for bug fixes. My users will laugh at me if I would dare to ask money for a showstopper bug that was not supposed to be there. I always said (joking) that if Emba will release one-single-true-stable-version they will get out of business because everybody will buy that version (remember Delphi 7?) and lock into it. Nobody will upgrade to the next version for 8-12 years (unless the next version is as good as the other one). I am kinda doing that with 10.4.
  10. Alexander Halser

    Firemonkey form not included in "Also snap to screen"

    Partial answer: in VCL the behavior is triggered by MainFormOnTaskbar := true; More detailed answer: it is the param WS_EX_APPWINDOW in the window GWL_EXSTYLE that makes the window appear (automatically set by MainFormOnTaskbar). In FMX, the main form can be made visible in the selection list by setting the form's (Windows) window handle manually: procedure TForm1.Button1Click(Sender: TObject); var WND: HWND; begin wnd := FmxHandleToHWND(self.handle); SetWindowLong(wnd, GWL_EXSTYLE, GetWindowLong(wnd, GWL_EXSTYLE) or WS_EX_APPWINDOW); //now the form is visible in the "Also snap..." list end; New question: Any known downside or side effects due to this modification?
  11. Lars Fosdal

    New proyect in Delfos

    Who would select to use a closed source backend that doesn't scale, when there are multiple options - of which several have a free tier?
  12. OpenSSL has released new minor version 3.2.0, which has a lot of new features. It is compatible with the current versions of ICS, but has only been tested briefly with clients, it needs at least a week of testing with servers before I'm comfortable adding the DLLs to ICS as the defaults. The major change in 3.2.0 is support for client side QUIC protocol. QUIC is based on UDP rather than TCP and allows multiple streams in parallel, typically for downloading web pages with hundreds of elements, QUIC combined with HTTP/2 becomes HTTP/3. There is a DLL solution that has been used to add HTTP/2 to Indy but not native Delphi implementation I'm aware of, it's a lot of work. So no possibility of ICS having HTTP/3 soon. Other changes in 3.2.0 include: Certificate compression in TLS, including support for zlib, zstd and Brotli Deterministic ECDSA. Support for Ed25519ctx, Ed25519ph and Ed448ph. AES-GCM-SIV. Argon2 and supporting thread pool functionality. Hybrid Public Key Encryption (HPKE). The ability to use raw public keys in TLS. Support for Brainpool curves in TLS 1.3. SM4-XTS. Support for using the Windows system certificate store as a source of trusted root certificates. Some of the above cipher and hash changes may be used by TLS connections without change to ICS, if negotiated with the other end, but certificate related changes will need updates to ICS. Windows binaries are available in SVN and the overnight zip file and separately from https://wiki.overbyte.eu/wiki/index.php/ICS_Download or https://www.magsys.co.uk/delphi/magics.asp In addition to the three DLL files, the zip includes a compiled RES resource file that contains the same DLLs, text files and version information, see the RC file. The RES file may be linked into application EXE files and code then used to extract the DLLs from the resource to a temporary directory to avoid distributing them separately. ICS V9.1 and later optionally support loading the resource file, currently in SVN and the overnight zip. Angus
  13. Except you don't run the Delphi IDE on any system. An IDE that is not cross-platform will have limited cross-platform capabilities. Going down that discussion is going off-topic, imo. That said, I agree that an editor having "front-end" capabilities is a good thing. And some of those may depend on integrating with backend services, such as a LSP server, which may or may not be on the local machine.
  14. Primož Gabrijelčič

    Looking forward to Delphi 12 Athens support

    Official Delphi 12-supporting release: https://github.com/gabr42/OmniThreadLibrary/releases/tag/release-3.07.10 It should also appear in GetIt in a day or two.
  15. Uwe Raabe

    Pos, SplitString

    It could be even shorter: Result := MyStr.Remove(MyStr.IndexOf('<')).Trim; No need to check for existence as the internally called _UStrDelete already handles that case pretty well.
  16. Dalija Prasnikar

    Delphi 12 is available

    I think it got a bit further... we are somewhere in the Dark Ages...
  17. Lars Fosdal

    SonarDelphi v1.0.0 released!

    I've used Peganza Analyzer every time I had to get to know a new code base. Now, I haven't changed jobs for a long time - so the last license I have is for PA v. 4.x. Perhaps it is time to get the Expert? Then again - I write a lot less Delphi code these days, as work pushes me in different directions.
  18. Lars Fosdal

    Pos, SplitString

    @corneliusdavid I replaced shortest with most readable years ago. 😛
  19. Darian Miller

    SonarDelphi v1.0.0 released!

    There are a few major reasons: - Peganza is the number one expert at static code analysis of Delphi code. They have been doing it for over 20 years now. - FixInsight just cannot match Pascal Expert's (PEX) depth of coverage. Compare the number of flags for each and you'll find a very large difference. - FixInsight is part of Peganza's main toolset and is very actively maintained. Simply compare PEX version history: https://peganza.com/history_pex.html to FixInisight: https://www.tmssoftware.com/site/fixinsight.asp?s=history - PEX is $89 and FixInsight is about $115. If you want to dig deeper, get Peganza's free "Pascal Analyzer Lite" product. And if you want the widest available static source analysis of your Delphi code, get Peganza's "Pascal Analyzer" product as it has more info that you'd probably ever actually fully utilize. The one downside for the PEX vs Fix Insight comparison is a command line option, which is available in the more expensive "Fix Insight Pro" product but not in Pascal Expert. However, it is available in Pascal Analyzer so if that's a requirement then I'd get Pascal Analyzer + Pascal Expert in their bundled offering. I had an All-Access subscription to TMS for the last few years I have used both products and while they are both nice tools, Pascal Expert just seems to be a very large step ahead of Fix Insight in all ways except the command-line option (but I also have Pascal Analyzer so it wasn't an issue for me.) But, they had a huge head-start as they are using the 20+ year old heavily improved/tweaked Pascal Analyzer engine to generate their warnings. In my opinion, every Delphi developer should use the stand alone and command-line driven "Pascal Analyzer" tool in their development process. In addition, to help reduce introducing new issues, everyone should utilize either of these IDE plugin: Pascal Expert or Fix Insight. I would also highly suggest purchasing the All Access subscription from TMS as they are probably the number one component developer for Delphi and they have been pushing out an enormous amount of updates for all their products (seemingly excluding Fix Insight but I assume that is because it was a purchased product.) The amount of code you get from their All Access subscription is amazing. While other component developers have went idle or closed, TMS seems to have hit the accelerator lately. For a little more info, here's my review of Pascal Expert https://ideasawakened.com/post/product-review-pascal-expert
  20. I don't know if other IDEs have such functions. But I often need a "Undo"-function for working with the form. For example, you changed the width of one component with the mouse and want to return the previous value. ( Or I just didn't see this function in Delphi).
  21. Features missing in the Delphi editor: Proper Unicode handling . It does not even support combining characters. Multi-cursor/selection editing Modification (track changes) bar that works with undo. Accessibility support Drag & drop editing triple and quadruple click support double/triple click and drag support Enhanced scroll bar as in VS Code ...
  22. Kas Ob.

    Delphi 12 is available

    That will not work, your finally is missing a try before hand and an end afterward.
  23. The 1st parameter of TRttiField.SetValue() expects a pointer to an object instance that the field belongs to, not a pointer to the field itself. Your function's Result is an array of T, is T an object type? If so, then you should constrain T with the 'class' constraint so that the compiler knows T is a class type, and thus Result is an array of object pointers. Can you provide a more complete example of what exactly you are trying to accomplish? Where are you getting the TRttiField from to begin with?
  24. Uwe Raabe

    Delphi 12 is available

    To have the Parnassus plugins work in Delphi 12 as well as Delphi 11.3 on the same machine you need to do either of this depending on your situation: Before installing the Delphi 12 plugin: In folder c:\Program Files (x86)\Common Files\ParnassusShared rename ParnassusCoreEditor.dll into ParnassusCoreEditor_XAlexandria.dll After installing the Delphi 12 plugin: Copy the 11 version of ParnassusCoreEditor.dll from the appropriate CatalogRepository folder as ParnassusCoreEditor_XAlexandria.dll into the mentioned folder
×