Einzelnen Beitrag anzeigen

Metallicwar

Registriert seit: 5. Feb 2010
Ort: Bad Kissingen
293 Beiträge
 
Delphi XE Architect
 
#1

Eingabe in Webkomponente schreiben

  Alt 26. Dez 2010, 17:09
Hi zusammen,
ich möchte einen Text eines Editfelds durch klicken auf einen Button, automatisch in ein Editfeld einer Webkomponente schreiben. Mit meiner procedure funktioniert das aber nicht, wenn ich allerdings den Focus auf ein Editfeld meines Formulars lege anstatt auf den TWebbrowser funktioniert es?!?!
Zum Testen habe ich dann einfach mal einen Timer eingebaut, mit dem funktionierts ...
Wieso funktionert es mit Timer aber ohne nicht?!?
Kann mir das mal jemand erklären und mir evtl. weiterhelfen ?!?

Delphi-Quellcode:
procedure TForm1.btnEinloggenClick(Sender: TObject);
var
  c: Char;
  i: Integer;
begin
  chatWb.Navigate('www.google.de');
  chatWb.SetFocus;
  if Length(edtUsername.Text)>0 then
  begin
    for I := 0 to Length(edtUsername.Text) do
    begin
      c:= edtUsername.Text[i];
      case c of
        '1'..'9':
        begin
          keybd_event(ord(c), 0, 0, 0);
          keybd_event(ord(c), 0, KEYEVENTF_KEYUP, 0)
        end;
        'A'..'Z':
        begin
          keybd_event(VK_SHIFT, 0, 0, 0);
          keybd_event(ord(c), 0, 0, 0);
          keybd_event(vk_Shift, 0, KEYEVENTF_KEYUP, 0);
          keybd_event(ord(c),0 ,KEYEVENTF_KEYUP, 0);
        end;
        'a'..'z':
        begin
          c:= UpCase(c);
          keybd_event(ord(c), 0, 0, 0);
          keybd_event(ord(c), 0, KEYEVENTF_KEYUP, 0);
        end;
      else
        begin
          keybd_event(ord(c), 0, 0, 0);
          keybd_event(ord(c), 0, KEYEVENTF_KEYUP, 0);
        end;
      end;
    end;
  end;
end;