Zugriffsverletzung ... in Modul 'comctl32.dll' ...
Bei Verwendung der Explorer-Nachbau-Komponente TShellListView bzw. TVirtualExplorerListView erhielt ich auf unterschiedlichen Rechnern immer wieder Zugriffsverletzungen beim Aufrufen der Standard-Kontextmenüs von Dateien bei Betätigung der rechten Maustaste. Nach "Wegklicken" der Zugriffsverletzung öffnete sich das Popupmenu dann ganz normal und fehlerfrei.
Nach vielen Versuchen und insbesondere nach ewigem Suchen bin ich durch http://www.swissdelphicenter.ch/de/f...?topic=10339.0 auf die Idee gekommen, dass dies etwas mit dem XPManifest zu tun haben könnte. Also TXPManifest dem Projekt hinzugefügt und die Zugriffsverletzungen waren Geschichte. Auch nach Entfernen der Komponente bleibt das XPManifest im Recourcenbereich der Exe-Datei enthalten (???) und es gibt keine Zugriffsverletzung mehr. Kann das einer erklären? Ich nehme an, dass dadurch andere Komponenten oder andere Funktionen der comctl32.dll genutzt werden und dies zusätzlich von der Version der DLL abhängig ist. |
AW: Zugriffsverletzung ... in Modul 'comctl32.dll' ...
Zitat:
Oder was bezweckst du mit deiner Frage? gruss |
AW: Zugriffsverletzung ... in Modul 'comctl32.dll' ...
Zitat:
|
AW: Zugriffsverletzung ... in Modul 'comctl32.dll' ...
Ich habe sie als VCL-Komponente eingebunden und dann wieder gelöscht. Was die so genau im Hintergrund macht ... keine Ahnung.
|
AW: Zugriffsverletzung ... in Modul 'comctl32.dll' ...
Zitat:
|
AW: Zugriffsverletzung ... in Modul 'comctl32.dll' ...
Stimmt. Aber die eigentliche Frage ist eben: Was passiert die eigentlich bei Delphi bzw. im Windows?
|
AW: Zugriffsverletzung ... in Modul 'comctl32.dll' ...
Zitat:
Es ermöglicht dir die Windows Theme in deinem Programm zu übernehmen ohne das du selber etwas programmieren mußt. |
AW: Zugriffsverletzung ... in Modul 'comctl32.dll' ...
Das ist aber nur die halbe Wahrheit. Mit dem Manifest sagt man Windows auch, dass man bestimmte Versionen von DLLs benötigt und diese geladen werden sollen und es legt fest mit welchen Rechten das Programm gestartet werden soll.
|
AW: Zugriffsverletzung ... in Modul 'comctl32.dll' ...
Zitat:
|
AW: Zugriffsverletzung ... in Modul 'comctl32.dll' ...
Dann ist es wohl so, dass sich die comctl32.dll irgendwie inkompatibel weiterentwickelt hat und so auf die ältere Delphi-Version gezwungen werden muss. Soweit ich mich erinnere war oder ist so was bei z.B. DirectX verboten und es müssen in solchen Fällen neue Funktionen angelegt werden.
Das Tolle ist dabei, dass ggf. ein älteres Programm plötzlich nicht mehr funktioniert und angepasst werden muss. Genial. http://www.mustangpeak.net/download/virtualexplorer.zip |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:17 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