AGB  ·  Datenschutz  ·  Impressum  







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

NonVCL Browser Projekt

Ein Thema von NickelM · begonnen am 1. Jun 2012 · letzter Beitrag vom 11. Nov 2012
Antwort Antwort
NickelM

Registriert seit: 22. Jul 2007
Ort: Carlsberg
445 Beiträge
 
Delphi 2009 Professional
 
#1

NonVCL Browser Projekt

  Alt 1. Jun 2012, 05:44
Hallo zusammen,

Ich hatte hier im Forum gefragt, wie ich die VCL Klasse TWebBrowser auf nonVCL umsetzten kann.
Mann sagte mir dann, dass es nicht einfach sei, da viele Interfaces zu inplementieren gibt.
Ich hab nach langem eine recht unschöne alternative gebaut und im Thread gepostet, aber da mich das störte hab ich mich mal an die Arbeit gemacht, um die TWebBrowser, nonVCL tauglich zumachen.

Da ich dies nicht brauche, aber viele hier im Forum nach einer Art NonVCL Browser gesucht haben, stelle ich mal meine Umsetzung hier herein. Bisher ist die Umsetzung noch nicht sauber bzw. unvollständig, daher kann es zu Fehler kommen. Ein Fehler ist mir bisher nur bekannt.

Der einen Fehler ist, wenn man die DP, wie im Test-Projekt aufruft, kommt ein Script-Fehler, der am IE liegt. Da ich als Test 2 Browser hab, kommt die Meldung 2mal. Wenn ich beide Meldungen beende stürtzt das Programm ab. Dies passiert bei der VCL Version nicht, und bisher weis ich noch nicht woran das liegt.
Da ja die VCL-Version von der Klasse TOleControl abstammt und meine nicht, hab ich ein paar Interfaces/Funktionen weggelassen, die "anscheinend" nicht benötig werden. Vielleicht hab ich ein paar zuviele weggemacht und daher kommt der Fehler.

Für Code-Optimierungen oder Fehlerbehebungen bin ich für Vorschläge offen. Ansonsten viel Spass mit der NonVCL Version des TWebBrowser's.

P.S. : Bitte nicht erschlagen falls ich irgendeine wichtige Funktion vergessen habe einzubinden. Bin noch recht neu in Interface in Klassen basis und versuche dies zuverstehen.
Bei ein paar Funktionen hab ich ein Kommentar dazugeschrieben, wofür ich eine Umsetzung bisher nicht habe oder fraglich ist, ob sie benötigt wird.

Gruß NickelM.
Angehängte Dateien
Dateityp: rar NonVCL Browser.rar (17,3 KB, 27x aufgerufen)
Nickel
"Lebe und denke nicht an morgen"
Zitat aus dem gleichnamigen Bollywoodfilm.
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#2

AW: NonVCL Browser Projekt

  Alt 1. Jun 2012, 15:39
Danke für die Arbeit. Ich werde mir das auch mal genau ansehen.

Das erste was mir aufgefallen ist beim Test, es läuft nicht unter Delphi < 2007
Da solltest du CharInSet einfügen, da das noch nicht implementiert ist in älteren Delphi Versionen:

Delphi-Quellcode:
//...
  CoSearchAssistantOC = class
    class function Create: ISearchAssistantOC3;
    class function CreateRemote(const MachineName: string): ISearchAssistantOC3;
  end;

{$IFNDEF DELPHI12}
  function CharInSet(const C: Char; const testSet: TSysCharSet): boolean;
{$ENDIF}

implementation


uses ComObj;

{$IFNDEF DELPHI12}
  function CharInSet(const C: Char; const testSet: TSysCharSet): boolean;
  begin
    Result := C in testSet;
  end;

{$ENDIF}

{ TEventDispatch }

constructor TEventDispatch.Create(Control: TWebBrowser; EventIID : TGUID);
begin
  FControl := Control;
  FEventIID := EventIID;
end;

//...
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)
  Mit Zitat antworten Zitat
NickelM

Registriert seit: 22. Jul 2007
Ort: Carlsberg
445 Beiträge
 
Delphi 2009 Professional
 
#3

AW: NonVCL Browser Projekt

  Alt 1. Jun 2012, 16:11
Okay werd ich einfügen. Danke.
Nickel
"Lebe und denke nicht an morgen"
Zitat aus dem gleichnamigen Bollywoodfilm.
  Mit Zitat antworten Zitat
Ryzinski

Registriert seit: 2. Okt 2012
38 Beiträge
 
#4

AW: NonVCL Browser Projekt

  Alt 11. Nov 2012, 15:26
Is this threadsafe? Can proxy be set on each instance? Works on 64 bit?
Seems not to work on XE3..

Geändert von Ryzinski (11. Nov 2012 um 15:29 Uhr)
  Mit Zitat antworten Zitat
madtom

Registriert seit: 24. Feb 2005
Ort: Hamburg
115 Beiträge
 
Delphi XE7 Professional
 
#5

AW: NonVCL Browser Projekt

  Alt 11. Nov 2012, 15:41
Hallo, für den Scriptfehler solltest Du
Silent := True; einfügen, jedenfalls ist es bei TWebBrowser so.
Thomas
Delphi Programming
  Mit Zitat antworten Zitat
Ryzinski

Registriert seit: 2. Okt 2012
38 Beiträge
 
#6

AW: NonVCL Browser Projekt

  Alt 11. Nov 2012, 15:47
Seems not to work with XE3
  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 06:11 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