So, ich habe mir jetzt auch WinSpy angeschaut und (für mich) überraschendes festgestellt
Der eigentliche Report entstammt der Klasse TQRPreview
Das Preview-Fenster, in dem der Report eingebunden ist, entstammt der Klasse TQRStandardPreview und hat den Titel "Report Preview : Media-List Report"
Dadurch weiß ich jetzt, dass hintern "Report Preview" noch ein Leerstelle ist und mit der findet
Delphi-Quellcode:
FHwnd := FindWindow(nil, 'Report Preview : Media-List Report');
SendMessage(FHwnd, WM_CLOSE, 0, 0);
jetzt auch den
Handle.
Das wars aber auch schon an weiterkommen, denn der anschließende WM_CLOSE schließt wieder nur den Report
Gelöst habe ich es jetzt trotzdem. Vielleicht kann man noch abspecken, aber so geht es
Delphi-Quellcode:
try
rptMediaList.Enabled := False;
rptMediaList.Hide;
for i := Screen.FormCount - 1 downto 0 do
begin
with Screen.Forms[i] do
begin
if ClassName = 'TQRStandardPreview' then
with TQRStandardPreview(TComponent(Screen.Forms[i])) do
Destroy;
end;
end;
rptMediaList.qrMediaList.Free;
rptMediaList.Release;
finally
rptMediaList.Free;
rptMediaList:= nil;
end;