AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Edgebrowser will nicht

Ein Thema von Delbor · begonnen am 14. Jul 2021 · letzter Beitrag vom 15. Jul 2021
Antwort Antwort
Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.186 Beiträge
 
Delphi 11 Alexandria
 
#1

Edgebrowser will nicht

  Alt 14. Jul 2021, 16:36
Delphi-Version: 10.4 Sydney
Hi zusammmen
So wähle ich eine Pdf-Datei

Delphi-Quellcode:
procedure TOpenFileFrame.TVFilesExplorerMouseUp(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
  var AnItem: TTreeNode; ATextSelection :String;
begin
  AnItem := TVFilesExplorer.GetNodeAt(X, Y);
  if not AnItem.HasChildren then
  begin
    FFileName := AnItem.Text;
    ATextSelection := PNameRec(AnItem.Data)^.RealName;
    if Assigned(OnTextSelectionEvent) then
      OnTextSelectionEvent(Sender,ATextSelection);
  end;
end;
Der Containerframe ermöglicht individuelle Änderungen, ohne gleich den Openfileframe ändern zu müssen, ist aber nicht absolut nötig:
Delphi-Quellcode:
procedure TFileSearchContainerFrame.DoSelectTextEvent(Sender: TObject; const ATextSelection: String);
begin
  FTextSelection := ATextSelection;
  Self.Edit2.Text := ATextSelection;
  if ExtractFileExt(ATextSelection) = AnsiLowerCase('.pdf') then
  begin
    if Assigned(FOnTextSelection) then
      FOnTextSelection(Sender, ATextSelection);
  end;
Schliesslich kommt der Event in der Mainform an:
Delphi-Quellcode:
procedure THomeOfficerFeMain.DoTextSelectionEvent(Sender: TObject;
  const ATextSelection: String);
begin
Self.RogersPdfFrame1.PdfFileName := ATextSelection;
//Self.RogersPdfFrame1.PdfViewCreate2; // Hier den EdgeBrowser anzeigen
Self.EdgeBrowserFrame1.EdgeBrowser1.Navigate(ATextSelection); // ???
end;
Und hier soll der Edgebrowser nun angewiesen werden, die gewählte Pdf-Datei anzuzeigen. Nur - das tut er nicht.
Wesshalb?
Der Edgebrowser liegt auf einem Tabsheet/Pagecontrol. Es wäre aber ein absolutes Novum, wenn Komponenten hier explizit adressiert werden müssten.
Was mache ich falsch?

Gruss
Delbor
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch

Geändert von Delbor (14. Jul 2021 um 16:46 Uhr)
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.110 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Edgebrowser will nicht

  Alt 14. Jul 2021, 17:13
Ich finde es beim besten Willen nicht, meine aber, dass wir das Thema vor ein paar Monaten schonmal hatten. Eventuell war es in der englischen Delphi-Praxis oder auf StackOverflow, ich weiß es nicht mehr.

Jedenfalls hat, meine ich doch, sowohl der alte Internet Explorer, als auch Edge, keine Lust etwas anzuzeigen wenn er auf einem nicht sichtbaren TabSheet eines PageControl liegt.

Kannst du ein Minimalbeispiel einstellen? Kannst du zu einem Test das PageControl weglassen?

PS: Ich glaube das hier war, was ich noch im Hinterkopf hatte:
https://stackoverflow.com/q/66134174/2298252

Geändert von Der schöne Günther (14. Jul 2021 um 17:15 Uhr)
  Mit Zitat antworten Zitat
Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.186 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Edgebrowser will nicht

  Alt 14. Jul 2021, 20:06
Hi Günther

Aproppo Frames: Ich hatte vor einiger Zeit versucht, mit Panels/GridPanels auf einem Frame zu arbeiten. Dabei hätten die (2) Panels mit je 6 Gridpanels eingemittet erden sollen - ich hatte eine Weile, bis mir klar wurde, dass entsprechender Code im Basisframe auch die Mitte des Basisframes ermittelt. Auch wenn die Frameinstanz diesen Code erbt.
Wenn, dann müsste der Parent der Frameinstanz die entsprechende Methode bereitstellen.
Zitat:
Jedenfalls hat, meine ich doch, sowohl der alte Internet Explorer, als auch Edge, keine Lust etwas anzuzeigen wenn er auf einem nicht sichtbaren TabSheet eines PageControl liegt.
Ich hab schon etwas daraufgesetzt, dass das entsprechende Tabsheet aktiv wird, wenn die enthaltene Komponente aktiv wird, aber zufällig war das Tabsheet aktiv. Von daher vermute ich auch, dass das am Frame liegt.
Zitat:
Kannst du zu einem Test das PageControl weglassen?
Hab ich gerade mal gemacht - ohne Änderung.

Gruss
Delbor
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch
  Mit Zitat antworten Zitat
Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.186 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Edgebrowser will nicht

  Alt 14. Jul 2021, 22:00
Hi Günter

Ich hab jetzt mal der Demo ein PageControl mit zwei Tabsheets verpasst, dass 2. mit Panel und Edgebrowser.
Damit kann 'problemlos' ein Verzeichnis mit Unterverzeichnissen angezeigt werden. Pdf ist ebenfalls kein Problem.
Wenn allerdings das Tabsheet mit dem Edge nicht sichtbar ist, bleibt der Edge auch nach aktivieren seines Parenttabsheets weg. Wie sich das verhält, wenn der Edge in TPageControl.OnChange 'gestartet' wird, hab ich noch nicht getestet.

Anbei noch die ergänzten Createprozedur der Demo:
Delphi-Quellcode:
procedure TEdgeViewForm.FormCreate(Sender: TObject);
var X : String;
begin
  X := 'F:\BenutzerHandbücher&Manuals\Benutzerhandbuch HP OfficeJet 3830 All-in-One series';
  EdgeBrowser1.Navigate(X);
// EdgeBrowser1.Navigate('https://www.delphipraxis.net/forum.php');
end;

Gruss
Delbor
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch

Geändert von Delbor (14. Jul 2021 um 22:05 Uhr)
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.110 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

AW: Edgebrowser will nicht

  Alt 15. Jul 2021, 05:26
Ja genau, das meinte ich.

Ich glaube ich hatte ein ähnliches Problem mit einem Popup das erst einmal eingerichtet werden sollte (Beschriftungen anpassen, PDF einblenden, Größe setzen) und dann erst eingeblendet wurde. Ich habe mir dann stattdessen die URL zum PDF gemerkt und den Browser dann erst im onActivate des Formulars die PDF anzeigen lassen.
  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 22:52 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