Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi [Erledigt] Preview Handler in VCL erzeugt MemoryLeak (https://www.delphipraxis.net/179132-%5Berledigt%5D-preview-handler-vcl-erzeugt-memoryleak.html)

idefix2 31. Mai 2015 10:11

AW: [Erledigt] Preview Handler in VCL erzeugt MemoryLeak
 
Ich hätte gerne den Windows preview Handler, von dem in diesem Thread die Rede ist, in mein Programm eingebunden - unter Delphi 2009 ist aber das Interface IPreviewHandler anscheinend noch nicht definiert (oder muss man da noch etwas extra in die uses-clause aufnehmen?), deshalb kompiliert die Unit nicht.
Gibt es eine Möglichkeit, das auch unter Delphi 2009 zum Laufen zu bringen?

Aviator 31. Mai 2015 11:56

AW: [Erledigt] Preview Handler in VCL erzeugt MemoryLeak
 
Die Interfaces sind bei XE3 in der WinAPI.PropSys Unit deklariert. Folglich sollten diese unter Delphi 2009 in der Unit PropSys deklariert sein. Allerdings weiß ich nicht, ob diese dort schon existiert haben oder ob diese nicht in einer anderen Unit deklariert wurden. Habe leider kein Delphi 2009 sondern nur XE3 und XE4.

Edit: Sorry das Interface IPreviewHandler ist in der Unit ShlObj definiert. Ich meinte die anderen Interfaces IInitializeWithFile, ...

idefix2 31. Mai 2015 16:20

AW: [Erledigt] Preview Handler in VCL erzeugt MemoryLeak
 
Tja, unter Delphi 2009 gibt es diese Interfaces offenbar noch nicht, die Unit ist ja eingebunden.

himitsu 31. Mai 2015 16:37

AW: [Erledigt] Preview Handler in VCL erzeugt MemoryLeak
 
MSDN-Library durchsuchenIPreviewHandler
Im MSDN/PSDK steht ja genau drin, wie das Interface aussieht und man kann es problemlos auch selber implementieren.

Und es ist nicht so, als wenn man nicht auch sowas in Fremdkomponenten finden könnte.
Bei Google suchenIPreviewHandler Delphi

idefix2 31. Mai 2015 17:56

AW: [Erledigt] Preview Handler in VCL erzeugt MemoryLeak
 
Nachdem ich mich bis jetzt recht wenig mit COM Klassen beschäftigt habe, bin ich auf der Suche nach einer zumindest halbfertigen Lösung (Delphi Wrapper). Natürlich kann man mit umfangreichen Studium der Dokuentation prinzipiell alles programmieren, aber hier wäre mir eine fertige Komponente oder Klasse entschieden lieber.

Dazu Google zu verlinken, ist nicht allzu hilfreich - dort habe ich schon gesucht. Man findet sehr viel, aber ich habe nichts brauchbares entdeckt, vor allem, wie es aussieht, nicht für Delphi 2009.

himitsu 31. Mai 2015 18:07

AW: [Erledigt] Preview Handler in VCL erzeugt MemoryLeak
 
Am Einfachsten ist es mal in JEDI und Co. zu schauen, denn das ist ja grade eine Sammlung vieler Headerübersetzungen.

Aviator 31. Mai 2015 18:24

AW: [Erledigt] Preview Handler in VCL erzeugt MemoryLeak
 
Also wenn es nur um die Deklaration des Interfaces geht, dann kann ich dir mit der aus meinem XE3 dienen.

Delphi-Quellcode:
  IPreviewHandler = interface(IUnknown)
    [SID_IPreviewHandler]
    function SetWindow(hwnd: HWND; var prc: TRect): HRESULT; stdcall;
    function SetRect(var prc: TRect): HRESULT; stdcall;
    function DoPreview: HRESULT; stdcall;
    function Unload: HRESULT; stdcall;
    function SetFocus: HRESULT; stdcall;
    function QueryFocus(var phwnd: HWND): HRESULT; stdcall;
    function TranslateAccelerator(var pmsg: TMsg): HRESULT; stdcall;
  end;
Ob du noch mehr brauchst, weiß ich allerdings nicht.

idefix2 31. Mai 2015 20:22

AW: [Erledigt] Preview Handler in VCL erzeugt MemoryLeak
 
Danke, damit werde ich es einmal versuchen. Leider habe ich wieder eine andere dringende Baustelle, sodass ich nicht gleich dazukomme.
Die ganze Unit schaut mir nicht allzu kompliziert aus, mit den richtigen Interfacedeklarationen sollte nicht mehr allzuviel fehlen, dass es auch unter Delphi 2009 läuft. In dem Bereich sollte sich bei der Sprache seither nicht gar so viel verändert haben. :-D


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:18 Uhr.
Seite 3 von 3     123   

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