Einzelnen Beitrag anzeigen

norwegen60

Registriert seit: 23. Dez 2007
Ort: Schwarzwald
505 Beiträge
 
Delphi 12 Athens
 
#20

AW: Quickreport Preview per Code schließen

  Alt 13. Jul 2022, 08:47
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 = 'TQRStandardPreviewthen
                with TQRStandardPreview(TComponent(Screen.Forms[i])) do
                  Destroy;
            end;
          end;
          rptMediaList.qrMediaList.Free;
          rptMediaList.Release;
        finally
          rptMediaList.Free;
          rptMediaList:= nil;
        end;
  Mit Zitat antworten Zitat