lior I 0 Posted December 7, 2023 In Delphi 11 64 bit target, I get the error: “E2158 System unit out of date or corrupted: missing ‘String’” When using Evaluate/Modify Watches (Ctrl+F7). It looks like a problem with converting strings in System.Sysutils or System. For example: ExtractFilePath(ParamStr(0)) I can see ParamStr(0) value but not the ExtractFilePath value. Another example: Application.Title := ‘My title’; I can see Application.Title value but can’t see ‘My title’ in the watch Window. 32 bit target seems to be ok. Embarcadero support advised me to upgrade to Delphi 12. Has anyone find a workaround in Delphi 11.3? Similar reports in https://quality.embarcadero.com/browse/RSP-39997 Thanks in advance Share this post Link to post
DelphiUdIT 176 Posted December 7, 2023 I encountered similar problems in debugging, where some variables (mostly inline ones, but also some local ones) could not be inspected. But at normal runtime I have never encountered any problems. I use ExtractFilePath in a new project with Delphi 12 these days intensively with Threads processing millions of images and I haven't had any problems. N.B.: ... I only use English characters (plus spaces, underscores, ...) for directory and file names. Share this post Link to post