gabr42 / gabr42/GpDelphiUnits

Compiling error on DSiWin32 on D2009 (NonClientMetrics.SizeOf)

Open
#3 0 comments 0 reactions 0 assignees View on GitHub
auto-migrated Priority-Medium Type-Defect
Dominant language
Pascal
Stars
190
Forks
63
PR merge metrics
No merged PRs in 30d

Description

```
What steps will reproduce the problem?
1. Compile DSiWin32 with D2009

What is the expected output? What do you see instead?
C:\Dev\Delphi\Lib\OmniThreadLibrary\src\DSiWin32.pas(6396,53): error E2003:
E2003 Undeclared identifier: 'SizeOf'

What version of the product are you using? On what operating system?
DSiWin32 1.72

Please provide any additional information below.

Construction "NonClientMetrics.SizeOf" supported since D2010, need change
{$IFDEF Unicode}TNonClientMetrics.SizeOf{$ELSE}SizeOf(TNonClientMetrics){$ENDIF}
to
{$IF CompilerVersion <
21.0}SizeOf(TNonClientMetrics){$ELSE}TNonClientMetrics.SizeOf{$IFEND}
```

Original issue reported on code.google.com by `schnider...@gmail.com` on 10 Sep 2013 at 1:16

Contributor guide

No contributing guide indexed for this repository

Research direction

Start in DSiWin32.pas around line 6396 and compile the unit with Delphi 2009 to reproduce the undeclared identifier error. Compare the conditional handling of TNonClientMetrics.SizeOf with the compiler versions supported by the unit. Done means DSiWin32.pas compiles successfully on D2009 without breaking the newer compiler path.

Written by the indexing model from the issue text.

Assessment

Domain
build-system
Issue type
Bug
Difficulty
1/5
Estimated time
Under an hour
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.