Jump to content

baoquan.zuo

Members
  • Content Count

    29
  • Joined

  • Last visited

  • Days Won

    2

baoquan.zuo last won the day on April 27

baoquan.zuo had the most liked content!

Community Reputation

41 Excellent

Technical Information

  • Delphi-Version
    Delphi 12 Athens

Recent Profile Visitors

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

  1. Yes. It was a bit surprised that, when CnPack published the Chinese Translation, advwang mentioned he had reported the issue (RSP-20624) back in 2018. The issue was closed as 'Work as Designed', with a suggestion to add a warning in cases of potential data loss. He also said Eurekalog 7.0 used this approach in their shellcode but fixed with byte array later. btw. I added this paragraph to the introduction: and improve the Conclusion section: Revisiting the Original Program section:
  2. I forgot to mention that, in the original case, the proper solution is to use a byte array —I’d assumed this was common knowledge, but I should have spelled it out. As I wrote at the beginning: I simply documented the journey, shared it, and hope it helps someone. At the very least, the exercise deepened my understanding of character encoding and how dcc handles string literals. In the end, it’s just an article. If you skimmed it, read the conclusion, and found nothing useful -- no worries, and thanks for taking a look.
  3. Thanks for sharing your view.
  4. Yes — it’s clear we should use the proper data type to represent raw bytes. What the article (and my curiosity) really digs into is why the data loss occurs and how DCC handles string literals (as there is no formal Delphi language specification). That matters to me because I’m also writing some Delphi compiler-frontend code in my products. In any case, these insights should help when migrating legacy ANSI-based Delphi projects.
  5. Hi, I'd like to share a post. It addressed a byte loss issue captured from a discussion. // Compile with code page 936 program Problem; const strPublicKey: RawByteString = #$30#$3C#$30#$0D#$06#$09#$2A#$86#$48#$86#$F7#$0D#$01#$01#$01#$05 + #$00#$03#$2B#$00#$30#$28#$02#$21#$00#$A4#$65#$B8#$CD#$B4#$29#$A9 + #$64#$1A#$C5#$80#$55#$22#$1B#$BB#$C5#$98#$36#$B9#$23#$0C#$CA#$D4 + #$A8#$B8#$7C#$E6#$32#$E3#$89#$3D#$77#$02#$03#$01#$00#$01; begin Writeln(Length(strPublicKey)); // expected 62 got 58 - why? Readln; end. https://devjetsoftware.com/delphi/byte-loss-in-string-literal-concatenation/
  6. JetPascal is a new code assistant for Delphi developers. Our goal is to be a fast, reliable, and intelligent code assistant for Delphi developers, supporting both RAD Studio and Visual Studio Code. The product is still in early stages. The current Insiders version includes these navigation and search features (inspired by Visual Studio Code) for Delphi XE7-12.3. Go to File Go to Project Go to Line Go to Symbol in Editor Delphi Source File VCL/FMX Form Go to Symbol in Workspace Go to Definition Go to Type Definition Go to Base Symbols Go to Derived Symbols Go to Implementation Go to Containing Declaration Peek Definition A few demos: - Go to Symbol in Source Editor - Go to Symbol in Form Editor (Go to component, property, and event in form designer.) - Go to Implementation To see the more demos, the status, and the roadmap of the product, please visit JetPascal page. You can also try it by download the Insiders version. Early Bird Program We are offering special Early Bird Price—significantly below the upcoming standard rate—while we finalize key features. This offer applies to both Commercial and Personal subscriptions and is open to new users now. Note: Legacy CodeInsightPlus customers can request our standard renewal price throughout 2025.
  7. baoquan.zuo

    12.2 and 12.3 on same machine

    If you use Parallel Desktop VM, it snapshots feature will help: Notes: - The "Uninstalled delphi 12.2" snapshot allow me to install new Delphi 12.3 beta without uninstalling previous beta (just discard it). - The "Delphi 12.2 Stable" snapshot allow me to work with delphi 12.2 during beta testing of delphi 12.3 and test compatibility when Delphi 12.3 has been RTMed
  8. It appears that Embarcadero did not include this issue in the known issues listed in the release notes, so I decided to share this workaround. Some users may encounter a stack overflow error when just create a empty VCL application the Delphi 12.3 64-bit IDE on ARM platforms. One of the Embarcadero team members provided a workaround: change the emulation settings to force single-core operation. Although this will slow down the IDE, it should function properly. Let's hope a hotfix is released soon.
  9. baoquan.zuo

    Namespaces in Spring4d code

    There is one approach without using many conditional defines: - Just use fully qualified/scoped unit names in use clauses - Create a shared .optset to be used by all XE-specific projects - Use unit aliases to map System.SysUtils to SysUtils, System.Actions to System (Ignore it), etc. in the optset. I did try this way and I am OK with it, but I am not sure what is the limit of the unit aliases/performance boost, an you have to use conditional defines when reference full-qualified type/members of RTL (should be limited).
  10. In honor of Delphi's 30th birthday on February 14th, we're offering a special 30% discount on new registrations for DocInsight, the ultimate API documentation tool for Delphi developers. Don't miss out! This limited-time offer is available only on February 14th. Celebrate Delphi's legacy and streamline your API documentation process with DocInsight today. Use Code: DELPHI30 Check Out: Downloads DocInsight 2025 Roadmap
  11. Save 25% on new registrations with coupon code BF2024! The latest version, DocInsight 2025 Insiders (Version 6.0.0.19), was released on November 24, 2025. DocInsight 2025 Release Notes (Draft) Download
  12. Hi, We have a new update for DocInsight and a special offer limited for today. Highlights Introducing DocInsight Insiders edition Allow side-by-side installations (different installation directories) Use separate settings and extension identifiers Share the same license Enable switching between Stable and Insiders editions for Delphi extensions in the future Add the Microsoft HTML Help Workshop component to the installer The Microsoft HTML Help Workshop is a currently mandatory component for compiling CHM documentation. Installing it requires separate administrative privileges. Our installer will: Download the signed Microsoft HTML Help Workshop installer Verify the SHA256 checksum to ensure the integrity of the downloaded file Launch the installer to guide you through the installation process Changelog New Introducing Insiders edition Add the Microsoft HTML Help Workshop component to the installer Normalize text encoding of source files Clear shortcuts using the Backspace key in the Options Move docinsight.exe and DocInsightWizard.exe to bin folder Extend the trial period of the previous version Fixes Fix: DocInspector/DocExplorer editor may be empty in Delphi 12 (DPI Unaware) Fix: Go to Definition navigate to incorrect location when xmldoc changed Fix: Code editor may not scroll to the expected location when Go to Definition Fix: Whitespaces adjacent to inline tags are trimmed Fix: docinsight.exe panicked with ANSI encoded file Fix: docinsight.exe panicked when xml doc comment contains invalid UTF-8 sequenece Fix: docinsight.exe panicked with “Fail to convert uri to file path” Special Offer: Use coupon code INSIDERS to get 25% off today. (For new registration) Download P.S. We will announce regular updates in our community forum in future. Thank you!
  13. Hi, I’m reaching out to seek your valuable opinions and experiences regarding the release strategy for the upcoming major version of DocInsight. There are 2 options: 1. Stable and Insiders with Side-by-Side Installations - Users can simultaneously use both versions. - Clear separation of stable and experimental features. - User may have to choose different IDE instances to avoid conflict of menus, dockable forms, shortcuts, etc. 2. Stable, Beta, and Dev Channels with a Single Installation - Simplified installation and maintenance. - Unified settings and extensions, reducing conflicts. - Easier for users to switch channels within the same IDE instance. How do you think? What's your preferred approach? Thanks!
  14. Hi Anders, This feature is in our list. You might want to monitor this issue: https://github.com/devjetsoftware/docinsight-support/issues/21 We are planning to introduce some significant features, and I need to consider how to integrate them effectively.
  15. DocInsight 2025 Public Beta is now available! See the announcement. For a limited time only, use coupon code HALLOWEEN to get 35% off the regular price. Purchase
×