Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Internet Browser mit Delphi: unbegrenzt viele Registerkarten zur Laufzeit (https://www.delphipraxis.net/162986-internet-browser-mit-delphi-unbegrenzt-viele-registerkarten-zur-laufzeit.html)

himitsu 12. Sep 2011 10:08

AW: Internet Browser mit Delphi: unbegrenzt viele Registerkarten zur Laufzeit
 
Und wo genau ist nun dein Problem?

Ja, Registerkarten kann man zur Laufzeit erstellen.

für TPageControl: ein TTabSheet erstellen und dann via InsertPage dem PageControl zuordnen.

entwickler 12. Sep 2011 10:10

AW: Internet Browser mit Delphi: unbegrenzt viele Registerkarten zur Laufzeit
 
s.h.a.r.k, eigentlich hast du recht, aber es geht mir mehr ums Prinzip. Achso, ich schließe mal aus deiner Aussage, dass Standardwebbrowser wie der Internetexplorer und Firefox nur eine begrenzte Anzahl von Registerkarten zur Verfügung stellen.

Neutral General 12. Sep 2011 10:11

AW: Internet Browser mit Delphi: unbegrenzt viele Registerkarten zur Laufzeit
 
Jain. Die Frage war eher, ob man überhaupt unbegrenzte Tabsheets will/braucht!

Was bringen dir 1000 Tabsheets? Die Performance und der Speicherverbrauch werden im Erdboden verschwinden und der Benutzer wird auch keinen Durchblick mehr haben.

Also wofür?

s.h.a.r.k 12. Sep 2011 10:13

AW: Internet Browser mit Delphi: unbegrenzt viele Registerkarten zur Laufzeit
 
Es muss keine Grenze im Browser existieren. Allein der Mensch und der zur Verfügung stehende Speicher erledigen "vollautomatisch".

Bzgl. deinem Problem: du solltest dir glaub mal ein paar Tutorials bzgl. dem Thema Objektorientiertes Programmieren zur Gemüte führen. Denn das scheint dein Problem zu sein. Leite, wie himitsu angedeutet hat, von TTabSheet ab und kapsle einfach ein TWeBrowser-Objekt etc. In deiner Anwendung kannst du dann beliebig viele Tabs erstellen und darstellen.

Daniel 12. Sep 2011 10:19

AW: Internet Browser mit Delphi: unbegrenzt viele Registerkarten zur Laufzeit
 
Vielleicht kurz der Vollständigkeit halber: Du willst keinen eigenen Browser programmieren, sondern die fertige Browser-Komponente in Deiner Anwendung nutzen (kein Problem, dafür ist sie da).

Die in meinen Augen "billige" Lösung wäre es, x Registerkarten zu nutzen mit je einer Browser-Komponente. Alternativ kümmerst Du Dich selbst um die Speicherverwaltung und legst Dir eine Liste an Streams an, die Du zur Not auf die Platte auslagerst. Dann könntest Du mit einem Browser-Control auskommen und mit den Tabs würdest Du nur auswählen, mit welchem Deiner Streams Du das Control fütterst. Ein Tab-Wechsel wäre dann aber mit einem Neu-Laden der Seite (nicht aus dem Netz, sondern aus Deinem Datenspeicher) verbunden.

entwickler 12. Sep 2011 10:24

AW: Internet Browser mit Delphi: unbegrenzt viele Registerkarten zur Laufzeit
 
Leute, meine Tastatur ist kaputt; Wie soll ich so schnell stellung nehmen?! Jetzt ma langsam:

himitsu: Kannst du mir den Teil ab TPageControl bitte nochmal erklären?

Neutral General: Jetzt übertreib bitte nicht so :!: Ich meine für anspruchsvolle Benutzer, wenn du von dieser Ebene sprichst. Ich möchte nur wissen, wie man (NAHEZU) unbegrenzt viele Komponenten zur Laufzeit zur Verfügung stellen kann.

s.h.a.r.k: Ich benutze Delphi noch nicht sonderlich lange (ca. 1Jahr) und das ist das erste mal, dass ich soetwas versuche.

by Daniel: Mit Streams habe ich noch nie gearbeitet. wie funktionieren die?

Ganz ehrlich, Leute, so langsam bekomme ich das Gefühl, als würde ich das 1. Mal mit Delphi arbeiten.

Luckie 12. Sep 2011 10:30

AW: Internet Browser mit Delphi: unbegrenzt viele Registerkarten zur Laufzeit
 
Zitat:

Zitat von entwickler (Beitrag 1123513)
himitsu: Kannst du mir den Teil ab TPageControl bitte nochmal erklären?

Na genauso wie man jedes andere Steuerelement zur Laufzeit erzeugen kann, kann man das auch mit den Seitenreiteren eine PageControllsmachen.

s.h.a.r.k 12. Sep 2011 10:36

AW: Internet Browser mit Delphi: unbegrenzt viele Registerkarten zur Laufzeit
 
Zitat:

Zitat von entwickler (Beitrag 1123513)
Leute, meine Tastatur ist kaputt; Wie soll ich so schnell stellung nehmen?! Jetzt ma langsam:

Wer bremst verliert :mrgreen:

Nein, Spass bei Seite und mal mit etwas mehr ernst :) Du musst dir glaub erst mal die Grundlagen von OOP anschauen, denn genau das Prinzip ist hier sehr wichtig. Hast du das verstanden, dann verstehst du auch himitsus Aussage. Du musst dir dies bzgl. eben die Schnittstellen (Eigenschaften und Methoden) von der PageControl-Komponente anschauen.

Nochmals mit ein wenig Code -- das hier kann ein Tab sein:
Delphi-Quellcode:
TMyBrowserTab = class(TTabSheet)
private
  FBrowser : TWebBrowser;
public
  procedure LoadPage(const Url: string);
end;
Und so kannst du beliebig viele Tabs öffnen -- was natürlich Käse ist! TBrowserForm ist eine Form, die ein PageControl beinhaltet.
Delphi-Quellcode:
procedure TBrowserForm.CreateNewTab(const Url: string);
var
  NewTab : TMyBrowserTab;
begin
  NewTab := TMyBrowserTab.Create();
  NewTab.LoadPage(Url);
  TabPageControl.InsertPage(NewTab); // Keine Ahnung ob der Aufruf so stimmt!
end;

procedure TBrowserForm.DoNoUseMe();
const
  TAB_COUNT = 100000;
var
  i : Integer;
begin
  for i := 0 to TAB_COUNT do
    CreateNewTab('http://www.google.de');
end;

entwickler 12. Sep 2011 10:39

AW: Internet Browser mit Delphi: unbegrenzt viele Registerkarten zur Laufzeit
 
Also:

Delphi-Quellcode:
procedure Form1.Button1Click(Sender:Object);
var
  Registerkarte: TPageControl;
begin
  Registerkarte:= TPageControl.Create(Application);
  Registerkarte.Parent:= Form1;
  try
  //........Anweisung
  finally
   Registerkarte.Free;
  end;
end;
Ach so, wo finde ich diese Grundlagen ( OOP )?

OKAY, ich komm nachher wieder, muss jetzt weg...

entwickler 12. Sep 2011 10:41

AW: Internet Browser mit Delphi: unbegrenzt viele Registerkarten zur Laufzeit
 
oh, als der letzte Beitrag kam, habe ich noch geschrieben...
Danke!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:17 Uhr.
Seite 2 von 4     12 34      

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