nós tamos fazendo um tradutor multi-lingual que traduz pelo Systran (
www.systranbox.com), usando o MS Internet Controls. tá tudo funcionando direitinho, mas na hora de apresentar o resultado da tradução, dá erro.
código tradutor:
Private Sub Command3_Click()
WebBrowser1.Document.All.Item("trtext").Value = txtEnviar.Text 'muda o texto da caixa de texto do site pro texto que digitou no txtEnviar.text
'o WebBrowser1 é o MS Internet Transfer Controls
WebBrowser1.Document.Forms("frmTrText").Item("lp").Value = Combo2.List(Combo1.ListIndex) 'muda o Combo de língua pra língua que escolheu, por exemplo, "pt_en" ("português pra inglês")
WebBrowser1.Document.Forms("frmtrtext").Submit 'dá Submit no Form "frmtrtext" do site
status.Caption = "traduzindo..."
End Sub
até aí tá tudo certo. agora, o site do resultado abriu. mostra o resultado direitinho e sem erros. agora vamos mostrar o resultado obtido no programa de VB:
Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
On Error GoTo 1
txtEnviar.Text = WebBrowser1.Document.Forms(0).Elements("q").Value
"q" é o nome da caixa de texto do resultado. o txtEnviar.Text pega o valor (Value) da caixa de texto "q" da página de tradução
1
status.Caption = ""
End Sub
legal, né? até aí tudo funciona QUASE direito:
muito estranhamente, se o resultado da tradução tiver um length maior que 26 ou sei lá (nós não temos certeza do length), o WebBrowser1 (MS Internet Transfer Controls) vai resultar no seguinte erro:
"RunTime Error 91: Object variable or With block variable not set"
alguma idéia de porque isso acontece?
qualquer solução é bem-vinda;