CLX und FensterHandles
Moin.
Ich muss unter CLX eine Framegrabber einbinden komme aber mit den ollen Fensterhandels nicht klar. Unter VCL sieht das so aus:
Delphi-Quellcode:
Da es in CLX kein HWND gibt, was die function als 2. Param erwartet hab ich folgendes draus gemacht:
hG := 0; { hG: cardinal }
ret := is_InitBoard (@hG, Panel1.Handle);
Delphi-Quellcode:
Das Problem ist dass ich zwar irgendeinen Wert als Handle bekomme "LongWord(Panel1.Handle)" aber der ist falsch. Wenn ich das Handle mit Spy ermittle und eintrage functioniert der Kram.
hG := 0;
ret := is_InitBoard (@hG, LongWord(Panel1.Handle)); Wie komme ich denn nun an das richtige Handle? :roll: udo |
Mit Panel1.Handle bekommst du unter der CLX das die Instanz der Klasse der Komponente. Diese entspricht keinem Windows Handle.
Um das Window-Handle zu bekommen, musst du die Unit Qt einbinden und dann mit QWidget_winId() das HWND ermitteln:
Delphi-Quellcode:
uses Qt;
var wnd: HWND; begin wnd := HWND(QWidget_winId(Panel1.Handle)); end; |
Besten Dank!
Wo kann man denn solche "Geschichten" nachlesen? In der OH hab ich nix gefunden... :nerd: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:32 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