Jump to content

Wagner Landgraf

Members
  • Content Count

    135
  • Joined

  • Last visited

  • Days Won

    2

Wagner Landgraf last won the day on April 22 2023

Wagner Landgraf had the most liked content!

Community Reputation

49 Excellent

3 Followers

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Well, you need to add library path configuration to the new Delphi IDE. Unless you use migration tool to migrate library path settings from a previous to new Delphi version. That is registry editing, anyway. This has nothing to do with $(Auto). It's used to separate settings per "project", or per "environment". It's interesting how developers tend to reduce the truth to their own experience. It's like the old "Free vs FreeAndNil" discussion or "which language is best": usually a person with strong opinion ignores other users' experience or needs. It's not that simple. As I said, building only generates the binaries (dcu's, dcp's and bpl's). But you still have to add the folders containin the dcus to the library path - if you use them globally. You still have to handle the location of generated bpls and make sure Delphi can find them. No custom scripts? You still have to build the projects for all the platforms you use. If you use all of them, good luck manually building from the IDE a gazillion of packages for a gazillion of platforms - it can be as many as 10 in Delphi 13. And good luck waiting for such building, one after one. Want to have it really correct? You have to build the binaries for both Release and Debug configs, and add the proper folders to both Library Path and Debug Library Path, so when building your own application for Release it won't add debug info from 3rd party libraries, and when building your application for Debug you will be able to debug into the 3rd library code. You want to ctrl+click an identifier from a 3rd party library and have the IDE Code Insight navigate to its source code? You have to add the folders of the source code to Browse Library Path so Code Insight and debugger can properly find the unit you need to open and show it to you. You want to have them installed in both 32-bit and 64-bit IDE? You also have to rebuild the design-time packages for 64-bit platform and also install them in the 64-bit IDE. The list goes on and on. Wrong. Again a generalization. In either case, those are all reasons why we created Smart Setup and tried to make it as flexible and fast as possible.
  2. That is not 100% true. Delphi has the -r (registry) feature where you can launch different instances of Delphi with different settings, including installed packages, library paths, etc.
  3. For command-line compilation using msbuild to work. msbuild is Microsoft tool which doesn't use the Registry, it uses a chain of xml-based project. EnvOptions.dproj is one of them, thus the IDE updates it according to the Registry for msbuild to work.
  4. Update the registry. That is the source of truth. The EnvOptions.dproj file is updated when Delphi IDE is open. Why? Delphi has been working like that since forever. Most development platforms to the same, i.e., create binary, unversioned files in the same repository as the source code. That's what .gitignore is for. Specially for 3rd party, vendor software where you couldn't care less for the source code. Nevertheless, you can try installing Spring4D using TMS Smart Setup. It has a feature of mega folders where you can define where the DCUs will be located for all or each product you install: https://doc.tmssoftware.com/smartsetup/guide/configuration.html#using-dcu-megafolders
  5. If you're a Brazilian Delphi developer looking for solid technical content, practical insights, and direct access to experienced professionals, don't miss Delphi na Estrada 2025 — the largest free, in-person Delphi event in Brazil. In May 2025, the event will tour eight major cities, delivering a half-day of focused technical sessions on Delphi development. Topics will cover language evolution, real-world use cases, advanced techniques, ecosystem tools, and live presentations by top experts — including Embarcadero MVPs and international guests. ✅ Key Information Free registration In-person only Held in Portuguese Afternoon sessions (1pm–6pm) Different speakers in each city 📌 Schedule and Registration Links: Porto Alegre – May 12 Chapecó – May 14 Curitiba – May 16 Campinas – May 19 Rio de Janeiro – May 20 Teresópolis – May 21 Brasília – May 22 Fortaleza – May 23 Each stop will feature a unique lineup of speakers and topics. You can expect technical deep dives into current Delphi best practices, performance tips, component and architecture design, integration with modern services, and lessons from real-world projects. 🔗 General info and registration: https://www.delphinaestrada.com.br Seats are limited — secure your spot now and take part in one of the most relevant Delphi community events in Brazil this year.
  6. Wagner Landgraf

    Adding basic AWS S3 operations to Delphi app

    Also an option: https://github.com/landgraf-dev/aws-sdk-delphi https://landgraf.dev/en/aws-s3-support-in-aws-sdk-for-delphi
  7. That's the mystery, isn't it? First, thanks a lot for the detailed test. So let me try to summarize what you found out: in Release config, even if you check "Debug Information" option to True (in Project Options, Building | Delphi Compiler | Linking), it doesn't generate line number, unless you explicitly add the `{$D+}` directive in the source code, is that correct? If yes, I think finding out the reason might explain what's happening here. For the record, I'm using *Debug* config, and "Debug Information" is set to True. But still, I can't get line numbers. So maybe what's happening in my Debug config is the same as it's happening in your Release config?
  8. And why it can't retrieve the line number from generated map files from my units, but can from Delphi units?
  9. Sorry, by "DCU" I mean "debug information".
  10. If that would be the case, it would not show line number information for Delphi units, isn't it? It's "modern" DCU. It just looks that Delphi DCUs have some additional information that my DCUs don't have, but I don't know what that would be.
  11. Hi all, I'm getting call stack information using JclDebug.pas, and I can't get information about line number for my own units. In the (cropped) call stack below, you can see that there is line number information for Delphi units (System.pas, for example), but not for the other units. I have set several compiler and linker options, like stack frames, debug information, map debug info, etc. (see screenshot). JclDebug settings is set to raw, but changing those doesn't seem to make any difference (didn't try too hard):. JclStackTrackingOptions := [stStack, stRawMode]; Does anyone have any idea why it can't get line number? (01C9E319){producao.exe} [0214F319] fpdf.TFPDF.GetStringWidth + $E5 (01C9E314){producao.exe} [0214F314] fpdf.TFPDF.GetStringWidth + $E0 (00006566){producao.exe} [004B7566] System.ErrorAt (Line 5914, "System.pas" + 3) + $4 (000065AA){producao.exe} [004B75AA] System.Error (Line 5925, "System.pas" + 1) + $7 (01C9E314){producao.exe} [0214F314] fpdf.TFPDF.GetStringWidth + $E0 (01CB8FBA){producao.exe} [02169FBA] fpdf_ext.TFPDFExt.WordWrap + $15E (01CB9A86){producao.exe} [0216AA86] fpdf_ext.TFPDFExt.TextBox + $1A2 (01CA46AC){producao.exe} [021556AC] fpdf.TFPDF._out + $5C ...
  12. Wagner Landgraf

    MAP2PDB - Profiling with VTune

    Probably that's what is happening here. I had an older VTune version that worked, and now I installed Tuen 2024 which doesn't. (Of course, "working" was very limited, it didn't support any hardware assisted profiling, but at least the Hotspots with no hardware was working, just to profile application logic). The problem is: where the heck to I find old VTune versions to install? I search everywhere, and I can't find any information. Closes I found was to register for Intel account and go to some download/registration center, but nothing is displayed there are it only lists "registered" products. Does anyone happen to have an old offline installer of 2023, maybe 2022 VTune?
  13. Wagner Landgraf

    MAP2PDB - Profiling with VTune

    Has anybody tried to use VTune inside a VM with M1 (ARM MAC)? I recall I was able to use it, but I rebuilt my VM and now I can't make it work. I get this message: [Instrumentation Engine]: [tid:15552] Failed to allocate Injector, Error = INJECTOR_ERR Pin is exiting due to fatal error I just couldn't find anything relevant about this issue when googling for it. Even the VTune matrix demo doesn't work (so not related to map2pdb).
×