title: Incorrect screen width and height reported by Delphi 3
body: <p>I have a Delphi 3 app which has been distributed far and wide for at least a decade. Today I received a report that the app is not functioning properly on an Asus Transformer T100TA-C1-GR(S) Windows 8 tablet. Specifically, the app is refusing to run because it detects a screen resolution too small for the app to properly display itself. In the app, I have the following conditional check:</p>
  
  <pre><code> if (Screen.Width &lt; 800) or (Screen.Height &lt; 600) then begin
      // display a message reporting screen resolution too low
      ShowMessage('blah blah...');
      Application.Terminate;
  </code></pre>
  
  <p>When I compiled a special version of my app to help debug the problem, and gave the app to the complaining user, they report back the following numbers:</p>
  
  <pre><code>    Width: 980
      Height: 550
  </code></pre>
  
  <p>Here is the extra code I added the special compilation that I then gave to the user:</p>
  
  <pre><code> ShowMessage('Width: ' + IntToStr(Screen.Width) + #13#10 +
      'Height: ' + IntToStr(Screen.Height));
  </code></pre>
  
  <p>The user, however, swears that their tablet is configured to 1368x768. They even switched to 1024x768 and the same incorrect numbers are being reported by Delphi.</p>
  
  <p>All TForm.Scaled properties are set to False.</p>
  
  <p>One clue that might help... The screen width and height detection code (above) is run within the following procedure:</p>
  
  <pre><code> procedure TForm1.WMDisaplayChange(var m: TWMDisplayChange);
  </code></pre>
  
  <p>Any idea what might be going on?</p>