AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi TWebBrowser < undefinierter Bezeichner
Thema durchsuchen
Ansicht
Themen-Optionen

TWebBrowser < undefinierter Bezeichner

Ein Thema von endeffects · begonnen am 11. Aug 2004 · letzter Beitrag vom 16. Aug 2004
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    
endeffects

Registriert seit: 27. Jun 2004
450 Beiträge
 
#1

TWebBrowser < undefinierter Bezeichner

  Alt 11. Aug 2004, 09:23
Hallo,

ich möchte in einem Thread den TwebBrowser dynamisch erzeugen,
allerdings meckert der Compiler das TWebBrowser ein undefinierter
Bezeichner wäre.

Delphi-Quellcode:
uses
  Classes, SysUtils;
...

procedure TMyThreads.Grabber(Keyword: String; FFirstStep: Integer);
var
  WebBrowser: TWebBrowser;
begin
  WebBrowser:= TWebBrowser.Create(nil);
  with WebBrowser do
   try
    except
        //nix
    end;

  FreeAndNil(WebBrowser);
end;
Die Uses hatte ich auch schon einmal erweitert

Delphi-Quellcode:
uses
   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs;
Jemand eine Idee?
  Mit Zitat antworten Zitat
Alexander

Registriert seit: 28. Aug 2002
Ort: Oldenburg
3.513 Beiträge
 
Turbo Delphi für .NET
 
#2

Re: TWebBrowser < undefinierter Bezeichner

  Alt 11. Aug 2004, 09:29
Du musst noch die entsprechende Unit einbinden. SHDocVw_TLB müsste die richtige sein...
Alexander
  Mit Zitat antworten Zitat
scp

Registriert seit: 31. Okt 2003
1.120 Beiträge
 
Delphi 7 Personal
 
#3

Re: TWebBrowser < undefinierter Bezeichner

  Alt 11. Aug 2004, 09:29
Du musst entweder die Unit ShDocVw (ab Professional) oder ShDocVw_TLB (bei Personal, wenn selbst importiert) einbinden.
  Mit Zitat antworten Zitat
endeffects

Registriert seit: 27. Jun 2004
450 Beiträge
 
#4

Re: TWebBrowser < undefinierter Bezeichner

  Alt 11. Aug 2004, 09:31
oh danke =)
  Mit Zitat antworten Zitat
endeffects

Registriert seit: 27. Jun 2004
450 Beiträge
 
#5

Re: TWebBrowser < undefinierter Bezeichner

  Alt 11. Aug 2004, 10:07
hmm ein kleines problem hab ich nun aber trotzdem noch,
wenn ich über .navigate eine webseite laden möchte
wird diese ohne sleep(); nur teilweise oder gar nicht
geladen. kann man dazu irgendwo einen timeout setzen?

Delphi-Quellcode:
procedure TMyThreads.Grabber();
var
  WebBrowser: TWebBrowser;
begin
  OleInitialize(nil);
  WebBrowser:= TWebBrowser.Create(nil);
  with WebBrowser do
    try
      WebBrowser.Navigate('http://test.com');
      sleep(2000);
    except
        //nix
    end;
  FreeAndNil(WebBrowser);
  OleUninitialize;
end;
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: TWebBrowser < undefinierter Bezeichner

  Alt 11. Aug 2004, 10:37
Neue Frage, neuer Thread!



Zitat von endeffects:
Delphi-Quellcode:
with WebBrowser do
    try
      WebBrowser.Navigate('http://test.com');
      sleep(2000);
    except
        //nix
    end;
Wenn du schreibst
with WebBrowser do dann kannst du nachher nur "Navigate('...');" schreiben, ohne vorangestelltes "WebBrowser".


Und "sleep" friert das ganze Programm ein, schau lieber mal nach delaydelay


Delphi-Quellcode:
try

...

except
  //nix
end;
Sollte man auch nicht verwenden, siehe dazu hier Punkt 1.



Du kannst auch warten, bis die Seite komplett geladen ist, mittels:

Delphi-Quellcode:
procedure TForm1.wbNavigateComplete2(Sender: TObject;const pDisp: IDispatch; var URL: OleVariant);
const
  url_google = 'http://www.google.de';
begin
  cbWeb.Text := lower(wb.OleObject.Document.Url);

  if (cbWeb.Text = url_google) or (cbWeb.Text = url_google + '/') then begin
    ShowMessage(cbWeb.Text + ' wurde geladen');
  end;
end;

Edit: Ein paar Tippfehler verbessert.
  Mit Zitat antworten Zitat
endeffects

Registriert seit: 27. Jun 2004
450 Beiträge
 
#7

Re: TWebBrowser < undefinierter Bezeichner

  Alt 11. Aug 2004, 10:50
oh danke für die hilfe,
ich werd versuchen zukünftig deine ratschläge zu beherzigen =)
eine frage hab ich allerdings trotzdem noch *gg*

wenn ich versuche in einem thread ein formular (z.b. google.com) auszufüllen
dann gibt es eine zugriffverletzung an dieser stelle:

WebBrowser.OleObject.Document.forms.Item(0).Item('g').Value := 'internet'; Exception der Klasse EAccessViolation
  Mit Zitat antworten Zitat
endeffects

Registriert seit: 27. Jun 2004
450 Beiträge
 
#8

Re: TWebBrowser < undefinierter Bezeichner

  Alt 11. Aug 2004, 12:25
also ich hab nun versucht zu prüfen ob
überhaupt ein formular existiert das ich ausfüllen
kann, auch hier erhalte ich eine zugriffsverletzung
wenn der thread versucht auf das OLE Objekt zu zugreifen.

Delphi-Quellcode:
  if OleObject.Document.all.tags('FORM').Length = 0 then
  begin
    Exit;
  end;
das selbe problem stellt sich bei mir auch da wenn ich
zum testen eine neue anwendung erzeuge

Delphi-Quellcode:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var wb: TWebBrowser;
begin
  wb := TWebBrowser.Create(Form1);
  TWinControl(wb).Name := 'MyWebBrowser';
  TWinControl(wb).Parent := Form1;
  wb.Align := alClient;
  wb.Navigate('http://www.google.com');
  sleep(2000);
  if wb.OleObject.Document.all.tags('FORM').Length = 0 then
  begin
    Exit;
  end
  else
  showmessage('found');
  end;

end.
  Mit Zitat antworten Zitat
endeffects

Registriert seit: 27. Jun 2004
450 Beiträge
 
#9

Re: TWebBrowser < undefinierter Bezeichner

  Alt 11. Aug 2004, 13:10
ich versteh das einfach nicht, nun les ich mich seit stunden
durch foren, newsgroups und artikel und hab diverese
sourcecodes ausprobiert, aber jedesmal wenn ich auf
auf ole objekt zugreifen will gibts den fehler

das ist echt zum kotzen
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: TWebBrowser < undefinierter Bezeichner

  Alt 11. Aug 2004, 13:12
Pushen ist erst nach 24 Stunden erlaubt
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    


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 15:48 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