AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Der XE8 Fehler-Thread

Ein Thema von Daniel · begonnen am 7. Apr 2015 · letzter Beitrag vom 27. Mai 2015
 
tueddy

Registriert seit: 3. Jan 2007
21 Beiträge
 
#2

AW: Der XE8 Fehler-Thread

  Alt 7. Apr 2015, 20:06
Moin,

eine Delphi XE-8 Anwendung crasht auf MacOS 10.6. Das ist zwar ein relativ altes System, viele Mac-User benutzen es aber noch. Der Fehler wurde in der Beta-Phase gemeldet aber nicht gefixt. Grund ist der Zugriff auf die Eigenschaft "backingScaleFactor", die erst mit 10.7 eingeführt wurde. Hier der Workaround:

Code:
Patch #1:

function TPlatformCocoa.GetDisplayMetrics: TDeviceDisplayMetrics;
const
MacBasePPI = 110;
var
Screen: NSScreen;
ScreenSize: TPointF;
ScreenScale: Single;
begin
Screen := TNSScreen.Wrap(TNSScreen.OCClass.mainScreen);
ScreenSize := TPointF(Screen.frame.size);
// +++ add this OS check +++
if NSAppKitVersionNumber >= NSAppKitVersionNumber10_7 then
ScreenScale := Screen.backingScaleFactor
else
ScreenScale := 1.0;
...

Patch #2:

function TPlatformCocoa.GetScreenScale: Single;
begin
// +++ add this OS check +++
if NSAppKitVersionNumber >= NSAppKitVersionNumber10_7 then
Result := TNSScreen.Wrap(TNSScreen.OCClass.mainScreen).backingScaleFactor
else
Result := 1.0;
end;

Patch #3:
procedure AddDevices;

var

  Screen: NSScreen;

  Rect: NSRect;

  LogicalSize, PhysicalSize: TSize;

  Scale: CGFloat;

  DeviceID: string;

begin

  Screen := TNSScreen.Wrap(TNSScreen.OCClass.mainScreen);

  Rect := Screen.frame;

  // +++ check for MacOS 10.7 here +++

  if NSAppKitVersionNumber >= NSAppKitVersionNumber10_7 then

    Scale := Screen.backingScaleFactor

  else

    Scale := 1.0;

...
  Mit Zitat antworten Zitat
 

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:03 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz