Kod: Tümünü seç
Function EncodePostData(StringValue: String): OleVariant;
Var
PostData: OleVariant;
I: Integer;
Begin
PostData := VarArrayCreate([0, Length(StringValue) - 1], varByte);
For I := 1 To Length(StringValue) Do PostData[I - 1] := Ord(StringValue[I]);
Result := PostData;
End;
Procedure PostIt(Browser:TWebBrowser;FrameName:String;Text:String);
Var
EncodedDataString: String;
PostData: OleVariant;
Headers: OleVariant;
URL:OleVariant;
Flags:Olevariant;
TargetFrameName:OleVariant;
Begin
Url:='http://www.htmlcodetutorial.com/frames/nestedfs.html';
TargetFrameName:=FrameName;
Flags:=0;
Headers := 'Content-Type: application/x-www-form-urlencoded';
EncodedDataString := 'mesaj=' + HttpEncode(Text);
PostData := EncodePostData(EncodedDataString);
Browser.Navigate(URL, Flags, TargetFrameName, PostData, Headers);
End;
procedure TForm1.Button1Click(Sender: TObject);
begin
PostIt(WebBrowser1,'RECIPES',PostMemo.Text);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
PostIt(WebBrowser1,'_blank',PostMemo.Text);
end;
Tamamı burada.
Sorun ise;
WebBrowser nesnesindeki bir frame'e post etmek istediğimde 'Variant or safe array is locked' hata mesajını alıyorum ama işlem normal bir şekilde gerçekleşiyor.
Hedef frame için '_blank' kullanırsam yeni sayfa normal bir şekilde açılıyor ve hata mesajı almıyorum.
Sorun nerede acaba?