Hi,
ich bin gerade dabei Felder im WebBrowser auszufüllen. Das funktioniert auch ganz prima:
Browser.OleObject.Document.Forms.Item(0).Elements.Item('feld').Value := edtTest.Text;
Jetzt wollte ich das in eine Prozedur packen:
Delphi-Quellcode:
...
procedure Fill(Str: String; Komponente: String);
...
private
...
procedure TfrmMain.Fill(Str: String; Komponente: String);
begin
//Die Variable Str habe ich erstmal weggelassen. D.h. nur den Übergebenen String "Komponente" benutze ich.
Browser.OleObject.Document.Forms.Item(0).Elements.Item('feld').Value := Komponente;
end;
...
Fill('feld', edtTest.Text);
Da funktioniert auch noch alles. Wenn ich jetzt aber beide Werte übergebe, also auch den Feldnamen:
Delphi-Quellcode:
procedure TfrmMain.Fill(Str: String; Komponente: String);
begin
Browser.OleObject.Document.Forms.Item(0).Elements.Item(Str).Value := Komponente;
end;
...
Fill('feld', edtTest.Text);
Da gibts eine EAcessViolation im Modul Kernel32.dll. Ich habe in meiner eigenen Prozedur Str mal ausgeben lassen, um zu prüfen, ob die Werte auch richtig übergeben werden. Aber da scheint der Fehler nicht zu liegen. Ich bin am Verzweifeln ....