AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi PDF in TWebBrowser - Absturz beim Schliessen der Form
Thema durchsuchen
Ansicht
Themen-Optionen

PDF in TWebBrowser - Absturz beim Schliessen der Form

Ein Thema von marcos · begonnen am 2. Okt 2010 · letzter Beitrag vom 4. Okt 2010
Antwort Antwort
marcos

Registriert seit: 6. Mai 2006
50 Beiträge
 
#1

PDF in TWebBrowser - Absturz beim Schliessen der Form

  Alt 2. Okt 2010, 14:01
Hallo,

eine PDF-Datei in einem TWebBrowser anzuzeigen ist an sich ganz einfach.
Ich habe leider damit ein Problem. Wenn ich nach der Anzeige die Form (das Programm) schliesse, dann bekomme ich die Meldung:
"Project ... faulted with message: 'system exception (code 0xe06d7363) at 0x76e3b727'"
Hat jemand eine Idee was ist hier falsch?

Gruß
marcos

Meine Umgebung: Delphi 2010; Win7/64

Testprogramm:
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, OleCtrls, SHDocVw, StdCtrls;

type
  TForm1 = class(TForm)
    pbOpenFile: TButton;
    pbCloseFile: TButton;
    WebBrowser1: TWebBrowser;
    procedure pbCloseFileClick(Sender: TObject);
    procedure pbOpenFileClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.pbCloseFileClick(Sender: TObject);
begin
   WebBrowser1.Navigate('about:blank');
end;

procedure TForm1.pbOpenFileClick(Sender: TObject);
begin
   WebBrowser1.Navigate('file:///' +'c:\temp\myTest.pdf');
end;

end.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: PDF in TWebBrowser - Absturz beim Schliessen der Form

  Alt 3. Okt 2010, 10:54
Meine Umgebung: Delphi 2010; Win7/64
Und welche Acrobat-Version? Bei dieser Windows-Version wird nur ein voll gepatchter Acrobat 9 funktionsfähig sein.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
marcos

Registriert seit: 6. Mai 2006
50 Beiträge
 
#3

AW: PDF in TWebBrowser - Absturz beim Schliessen der Form

  Alt 3. Okt 2010, 21:51
Acrobat 9.3.4 - "keine neue Updates verfügbar".

marcos
  Mit Zitat antworten Zitat
Benutzerbild von ULIK
ULIK

Registriert seit: 25. Sep 2006
Ort: Regensburg
416 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: PDF in TWebBrowser - Absturz beim Schliessen der Form

  Alt 4. Okt 2010, 06:54
So dunkel kann ich mich erinnern, daß ich das auch mal gehabt hab: ich glaub, Du mußt vor dem Beenden zu 'about:blank' navigieren, so daß sich das Reader Plugin entladen kann.

Grüße,
Uli
  Mit Zitat antworten Zitat
Benutzerbild von Daniela.S
Daniela.S

Registriert seit: 1. Mär 2008
Ort: Niederösterreich
224 Beiträge
 
Delphi XE4 Enterprise
 
#5

AW: PDF in TWebBrowser - Absturz beim Schliessen der Form

  Alt 4. Okt 2010, 08:04
@Uli: er navigiert ja schon auf "about:blank"

Das alleine hilft aber nicht. Es gibt einen Fehler im Acrobat, der Adobe schon lange bekannt ist und der beim Beenden manchmal eine Zugriffsverletzung verursacht.

Um das zu vermeiden sollte man zuerst auf "about:blank" gehen und auch wirklich warten bis diese Seite komplett geladen ist. Danach CoFreeUnusedLibraries aufrufen.
  Mit Zitat antworten Zitat
Benutzerbild von ULIK
ULIK

Registriert seit: 25. Sep 2006
Ort: Regensburg
416 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: PDF in TWebBrowser - Absturz beim Schliessen der Form

  Alt 4. Okt 2010, 08:14
@Daniela: nur wenn der TE den Button drückt

Daß der Fehler Adobe bekannt ist, wußte ich nicht. Danke für den Tip mit CoFreeUnusedLibraries. Werd ich demnächst mal einbauen und ausprobieren.


Grüße,
Uli
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#7

AW: PDF in TWebBrowser - Absturz beim Schliessen der Form

  Alt 4. Okt 2010, 11:24
Evtl. den Browser noch freigeben beim Beenden.

Delphi-Quellcode:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Hide;
  WebBrowser1.Navigate('about:blank');
  while WebBrowser1.Busy do
      Application.ProcessMessages;

  WebBrowser1.Free;
  CoFreeUnusedLibraries; // Unit ActiveX
end;
Thomas
  Mit Zitat antworten Zitat
marcos

Registriert seit: 6. Mai 2006
50 Beiträge
 
#8

AW: PDF in TWebBrowser - Absturz beim Schliessen der Form

  Alt 4. Okt 2010, 19:32
Daniela,

"ten points" , damit funktioniert, danke.

Gruß
marcos
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:09 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