Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Zugriffsverletzung in Vcl.Styles.TStyleEngine.DoUnregisterStyleHook (https://www.delphipraxis.net/207167-zugriffsverletzung-vcl-styles-tstyleengine-dounregisterstylehook.html)

DieDolly 1. Mär 2021 12:40

Zugriffsverletzung in Vcl.Styles.TStyleEngine.DoUnregisterStyleHook
 
Ich spiele etwas mit den Styles rum und lade einen zur Laufzeit mit TStyleManager.TrySetStyle().
Ab und zu beim Programmende kommt dann eine Zugriffsverletzung TStyleEngine.DoUnregisterStyleHook(), kann das jemand nachbilden und bestätigen?

D10.3.3 CE.

Renate Schaaf 1. Mär 2021 13:26

AW: Zugriffsverletzung in Vcl.Styles.TStyleEngine.DoUnregisterStyleHook
 
TStyleManager.TrySetStyle gibt dir ein boolean als Resultat zurück. Hast du das mal gecheckt? Zur Laufzeit sollte man glaub ich TStyleManager.SetStyle verwenden, das ruft intern TrySetStyle auf und wirft dir eine exception, wenns nicht funktioniert.

Edit: Vergiss das obige, du solltest in jedem Fall eine Fehlernachricht bekommen, wenns nicht ging. Ich mach jetzt schon länger mit styles rum, die Zugriffsverletzung habe ich nie gesehen. Poste doch mal ein kleines Beispiel.

Gruß, Renate

DieDolly 1. Mär 2021 15:17

AW: Zugriffsverletzung in Vcl.Styles.TStyleEngine.DoUnregisterStyleHook
 
Die Fehlermeldung kommt nicht bei TrySetStyle sondern beim Beenden des programms. Eher selten. Vielleicht 1x bei 100x Programm-Schließen.

venice2 1. Mär 2021 15:58

AW: Zugriffsverletzung in Vcl.Styles.TStyleEngine.DoUnregisterStyleHook
 
Zitat:

Zitat von DieDolly (Beitrag 1484164)
Die Fehlermeldung kommt nicht bei TrySetStyle sondern beim Beenden des programms. Eher selten. Vielleicht 1x bei 100x Programm-Schließen.

Kannst ja schnell testen.
Bau ne Test-App und ändere die Styles pro Sekunde.
Kracht es oder nicht. :stupid:

Oder starte die Anwendung mit neuem Style neu.
Delphi-Quellcode:
  if Restart then
    Result := ShellExecute(0, 'open', PWideChar(ParamStr(0)), nil, nil, SW_SHOW)

Sum1Nosy 21. Nov 2022 12:26

AW: Zugriffsverletzung in Vcl.Styles.TStyleEngine.DoUnregisterStyleHook
 
Zitat:

Zitat von DieDolly (Beitrag 1484164)
Die Fehlermeldung kommt nicht bei TrySetStyle sondern beim Beenden des programms. Eher selten. Vielleicht 1x bei 100x Programm-Schließen.

Hast Du mittlerweile die Lösung gefunden?
Ich habe das gleiche Problem. Meine Applikation erlaubt neben der Auswahl von Styles aber auch die Auswahl des "Windows"-Style, d.h. also gar kein Style. Wenn kein Style ausgewählt wurde, kommt der Fehler bei Programmende.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:13 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