Skip to content

Add Win64 IDE build support for Delphi 13 - #112

Open
Bazooper-blip wants to merge 1 commit into
integrated-application-development:masterfrom
Bazooper-blip:64-bit-ide-support
Open

Add Win64 IDE build support for Delphi 13#112
Bazooper-blip wants to merge 1 commit into
integrated-application-development:masterfrom
Bazooper-blip:64-bit-ide-support

Conversation

@Bazooper-blip

Copy link
Copy Markdown

Addresses #109 for Delphi 13.

The Delphi 13 client package can now be built for the 64-bit IDE:

  • DelphiLintClient370.dproj: Win64 platform enabled, with its own output directory (target/370/Win64) so Win32 and Win64 artifacts don't collide.
  • DelphiLint.IDEContext.pas: TToolsApiEditLineNotifier.LineChanged now matches the ToolsAPI signature, which takes Data: IntPtr. Declaring the parameter as Integer happens to match on Win32 but fails to compile on Win64 (E2291). Data only ever carries tracked line numbers, so it is narrowed at this boundary.
  • DelphiLint.Plugin.pas / DelphiLint.ToolFrame.pas / DelphiLint.Utils.pas: the WebView2 loader directory is now architecture-specific (bin for Win32, bin\win64 for Win64), because the x86 and x64 WebView2Loader.dll share a filename and are loaded via PATH.
  • scripts/build.ps1: Delphi versions have a SupportsWin64 flag (currently only Delphi 13). For those versions the Win64 BPL is built and packaged as DelphiLintClient-<version>-<name>-Win64.bpl.
  • scripts/TEMPLATE_install.ps1: when the package includes a Win64 BPL, the installer downloads the x64 WebView2Loader.dll into bin\win64 and registers the BPL under Known Packages x64, which is the key the 64-bit IDE reads (verified against a live Delphi 13 installation). Cleanup handles both registry keys.

Delphi 12 (12.3+) also ships a 64-bit IDE and could be enabled by flipping its SupportsWin64 flag and making the equivalent .dproj change, but I only have Delphi 13 available to verify, so this PR deliberately keeps 290 Win32-only.

Testing: Win32 and Win64 Release builds both compile with Delphi 13; the Win64 output is a valid PE32+ x64 BPL. The DUnitX suite passes at the same rate as master. I have not yet exercised the BPL inside the 64-bit IDE itself.

@fourls

fourls commented Jul 10, 2026

Copy link
Copy Markdown
Collaborator

Hi @Bazooper-blip, thanks for the PR! Looks good, when I have some time I will give it a test just to make sure.

@fourls
fourls self-requested a review July 10, 2026 01:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants