AGB  ·  Datenschutz  ·  Impressum  







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

Problem beim Formularaufbau

Ein Thema von moperswings · begonnen am 8. Feb 2008 · letzter Beitrag vom 8. Feb 2008
Antwort Antwort
moperswings

Registriert seit: 27. Mai 2004
Ort: Bad Sooden-Allendorf
240 Beiträge
 
Delphi 6 Professional
 
#1

Problem beim Formularaufbau

  Alt 8. Feb 2008, 11:05
Hallo,

ich möchte von meiner Form aus ein Webformular ausfüllen.
Lass ich das Programm so laufen, bekomme ich Zugriffsverletzungen!
Lass ich die procedure über einen Button.Click laufen, funktionierts!
Wie bekomme ich den Code ohne Button zum Laufen?
Hoffe, Ihr könnt mir helfen!
Viele Grüsse, moperswings!
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
        webbrowser1.Navigate('http:// ... ');
        sleep(50);
        webbrowser1.OleObject.document.forms.item('form1').elements.item('textfield').value := 'hallo';
        sleep(50);
        webbrowser1.OleObject.document.forms.item('form1').elements.item('submit').click;
end;
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Problem beim Formularaufbau

  Alt 8. Feb 2008, 11:11
Das IE-Control scheint zu diesem Zeitpunkt noch nicht instantiiert zu sein
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Problem beim Formularaufbau

  Alt 8. Feb 2008, 11:12
Schmeiss den Code in FormShow!
Und dann leg im Webbrowser ein Ereignis an (evtl.: OnDocumentComplete), nimm die Sleeps raus und schmeiss die unteren beiden Zeilen in das neue Ereignis
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
moperswings

Registriert seit: 27. Mai 2004
Ort: Bad Sooden-Allendorf
240 Beiträge
 
Delphi 6 Professional
 
#4

Re: Problem beim Formularaufbau

  Alt 8. Feb 2008, 11:22
FormShow funktioniert soweit, das fehlerfrei Compiliert wird!
Die Befehle hatte ich auch schon rausgenommen, fehlt mir noch das Ereignis, weil die Befehle nicht ausgeführt werden!
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Problem beim Formularaufbau

  Alt 8. Feb 2008, 11:24
Zitat:
fehlt mir noch das Ereignis,
Dann legs doch an
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
moperswings

Registriert seit: 27. Mai 2004
Ort: Bad Sooden-Allendorf
240 Beiträge
 
Delphi 6 Professional
 
#6

Re: Problem beim Formularaufbau

  Alt 8. Feb 2008, 12:29
Das Ereignis habe ich hinbekommen. Habe das aus der Hilfe übernommen.
ShowForm habe ich wieder rausgenommen!
ABER:
Jetzt wird mir das Formular in einer Schleife aufgerufen!
Wie bekomme ich den Dauerabruf hier raus?
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  webbrowser1.navigate('http://localhost/button.html');
end;

procedure TForm1.WebBrowser1NavigateComplete2(Sender: TObject; const pDisp: IDispatch; var URL: OleVariant);
begin
  if CurDispatch = nil then
     CurDispatch := pDisp;
end;

procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject; const pDisp: IDispatch; var URL: OleVariant);
begin
  if (pDisp = CurDispatch) then
  begin
    webbrowser1.OleObject.document.forms.item('form1').elements.item('textfield').value := 'hallo';
    webbrowser1.OleObject.document.forms.item('form1').elements.item('submit').click;
    CurDispatch := nil; {die globale Variable leeren}
  end;
end;
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#7

Re: Problem beim Formularaufbau

  Alt 8. Feb 2008, 12:47
Hi,

du musst mehrere DocumentComplete-Handler vorhalten oder du setzt den Handler einfach auf nil:

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  with webbrowser1 do
  begin
    OnDocumentComplete := WebBrowserDocumentComplete;
    Navigate('http://localhost/button.html');
  end;
end;

procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject; const pDisp: IDispatch; var URL: OleVariant);
begin
  with WebBrowser1 do
    if pDisp = DefaultInterface then
    begin
      OnDocumentComplete := nil;
      OleObject.document.forms.item('form1').elements.item('textfield').value := 'hallo';
      OleObject.document.forms.item('form1').elements.item('submit').click;
    end;
end;
Getippt und nicht getestet.

Freundliche Grüße
  Mit Zitat antworten Zitat
moperswings

Registriert seit: 27. Mai 2004
Ort: Bad Sooden-Allendorf
240 Beiträge
 
Delphi 6 Professional
 
#8

Re: Problem beim Formularaufbau

  Alt 8. Feb 2008, 12:55
Läuft!

Vielen Dank, marabu
  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 09: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