AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Kann man mit Delphi Formulare im TWebbrowser füllen?
Thema durchsuchen
Ansicht
Themen-Optionen

Kann man mit Delphi Formulare im TWebbrowser füllen?

Ein Thema von tomate007 · begonnen am 18. Okt 2007 · letzter Beitrag vom 17. Nov 2007
 
tomate007

Registriert seit: 1. Apr 2007
46 Beiträge
 
#4

Re: Kann man mit Delphi Formulare im TWebbrowser füllen?

  Alt 19. Okt 2007, 23:03
Danke quendolineDD,
der Code ist super.. mit dem Beispiel www.google.de funktionert das auch super nur wenn ich es umschreibe, also URL auf
Delphi-Quellcode:
const
  url = 'http://xxxxxx.de/login/login_form';
und
Delphi-Quellcode:
  frm.Elements.Item('__ac_name').Value := 'test';
  frm.Elements.Item('__ac_password').Value := 'test';
  frm.Elements.Item('submit').Click;
kommt folgende Fehlermeldung beim klicken auf den Button:

Zitat:
Im Projekt Project1.exe ist eine Exception der Klasse EAccessViolation aufgetretten. Meldung:
Zugriffsverletzung bei Adresse 00456ECF in Modul Project1.exe. Lesen von Adresse 00000000
Prozess wurde angehalten Mit einzelne Anweisung oder Start vortfahren.
Warum ist das so??? Mein Gedanke war das vllt das Problem darin besteht das ich kein .php oder .asp oder sonstiges in der URL habe und deswegen ein Fehler erzeugt wird??

Weil egal wo ich sonst das programm teste... überall gehts... nur bei dieser url nicht.

Hier mal der komplette code, die url habe ich mal verfremdet...:

Delphi-Quellcode:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    WebBrowser1: TWebBrowser;
    WebBrowser2: TWebBrowser;
    procedure WebBrowser1BeforeNavigate2(Sender: TObject;
      const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
      Headers: OleVariant; var Cancel: WordBool);
    procedure Button1Click(Sender: TObject);
  private
    ActiveUrl: string;
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
 uses
  MSHTML;

procedure TForm1.WebBrowser1BeforeNavigate2(Sender: TObject;
  const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
  Headers: OleVariant; var Cancel: WordBool);
begin
  with Sender as TWebBrowser do
    if pDisp = DefaultInterface then
      ActiveUrl := URL;
end;

procedure TForm1.Button1Click(Sender: TObject);
const
  url = 'http://xxxxxxxxx.de/login/login_form';
var
  wb: TWebBrowser;
  body, doc, frm: OleVariant;
begin
  wb := TWebBrowser.Create(nil);
  wb.ParentWindow := HWND(HWND_MESSAGE);
  wb.OnBeforeNavigate2 := Webbrowser1.OnBeforeNavigate2;
  wb.Navigate(url);
  repeat
    Sleep(50);
    Application.ProcessMessages;
  until wb.ReadyState >= READYSTATE_COMPLETE;
  doc := wb.OleObject.Document;
  body := doc.body;
  frm := doc.Forms.Item(0);
  frm.Elements.Item('__ac_name').Value := 'test';
  frm.Elements.Item('__ac_password').Value := 'test';
  frm.Elements.Item('submit').Click;
  repeat
    Sleep(50);
    Application.ProcessMessages;
  until wb.ReadyState >= READYSTATE_COMPLETE;
  wb.Free;
  ShowMessage(StringReplace(ActiveUrl, '&', '&&', [rfReplaceAll]));

end;

end.
  Mit Zitat antworten Zitat
 


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 20:31 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz