Hi *.*,
gegeben ist in Delphi 11.2 eine von TCustomPanel abgeleitete Komponente, welche neben einem TTabControl (Align = alTop) das Windows Media Player
ActiveX Steuerelement (Align = alClient) beinhaltet. Die Eigenschaft Parent des
ActiveX-Steuerelements wird auf die abgeleitete Panel-Komponente gesetzt.
Verwendet wird die Panel-Komponente in einer TScrollBox-Instanz, welche wiederum in verschiedenen verschachtelten Komponenten sitzt (verschiedene TPanel-Instanzen und ein oder mehrere TFrame-Instanzen). Alle diese Komponenten werden dynamisch zur Laufzeit erzeugt, dem
ActiveX-Steuerelement wird eine WAVE-Datei zugeordnet.
Hierbei ergibt sich das Problem, dass das
ActiveX-Steuerelement nicht korrekt dargestellt wird. Es erscheint nur ein einfarbiger Bereich, der auch teilweise das TTabControl-Element überlagert. Von außen gesteuert wird die WAV-Datei allerdings korrekt wiedergegeben, jedoch ohne irgendwelche visuellen Anzeigen.
Setze ich die Eigenschaft Parent der abgeleiteten Panel-Komponente auf Application.MainForm, so wird das
ActiveX-Steuerelement korrekt angezeigt (wenn auch falsch platziert) und lässt sich auch normal bedienen. Dabei ist es egal, ob das alte Windows Media Player
ActiveX Steuerelement (msdxm.ocx) oder die aktuelle Version (wmp.dll) zum Einsatz kommt. Des weiteren funktioniert der (nahezu) gleiche Code mit Delphi 5 übersetzt auf dem gleichem System problemlos (nur msdxm.ocx getestet).
Ich hatte erst an ein allgemeines Problem mit
ActiveX-Steuerelementen gedacht. Allerdings funktioniert ein Adobe Acrobat Reader
ActiveX-Steuerelement (mit einer zugewiesenen PDF-Datei) an Stelle des Windows Media Player
ActiveX-Steuerelements auch in Delphi 11 problemlos.
Ist jemanden dieses Problem ggf. schon einmal untergekommen oder hat eine Idee, wo man da noch ansetzen könnte?
Grüße