Você conseguiu baixar o componente? EmbeddedWB?
procedure TFrmPesquisaDanFe.EmbeddedWB1DocumentComplete(ASender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
var
k, i: Integer;
Source, dest, texto: string;
textoNFe : IHTMLDocument2;
begin
if WebBrowser1.LocationURL = 'http://www.nfe.fazenda.gov.br/portal/consulta.aspx?tipoConsulta=completa&tipoConteudo=XbSeqxE8pl8=' then
begin
for k := 0 to WebBrowser1.OleObject.Document.Images.Length - 1 do
begin
Source := WebBrowser1.OleObject.Document.Images.Item(k).Src;
if (Source = 'http://www.nfe.fazenda.gov.br/scripts/srf/intercepta/captcha.aspx?opt=image') then
begin
dest := ExtractFilePath(ParamStr(0)) + 'captcha.gif';
DownloadFile(Source, dest);
end;
end;
Image1.Picture.LoadFromFile(dest);
BrnConsultar.Enabled :=True;
BtnCertificado.Enabled:=True;
//BtnCertificadoClick(Self);
end;
texto:='';
texto:=GetPlainTextOnBrowser(WebBrowser1);
if Pos('Requer certificado digital',TEXTO) <> 0 then
begin
BtnCertificadoClick(Self);
edtCaptcha.Clear;
end;
if WebBrowser1.LocationURL = 'https://www.nfe.fazenda.gov.br/portal/inexistente_completa.aspx' then
begin
MessageDlg('NF-e INEXISTENTE na base nacional, favor consultar esta NF-e no site da SEFAZ de origem.',mtError,[mbok],0);
BtnNovaConsultaClick(Self);
edtCaptcha.Clear;
end;
texto:='';
texto:=GetPlainTextOnBrowser(WebBrowser1);
if Pos('não está autorizado a fazer o download do documento.',TEXTO) <> 0 then
begin
MessageDlg('O CNPJ ou CPF do certificado não está autorizado a fazer o download do documento.',mtError,[mbok],0);
BtnNovaConsultaClick(Self);
edtCaptcha.Clear;
end;
Status.Panels[0].Text:='';
end;
Aqui que passo o Parâmetro no WebBrowser que vem junto ao Delphi não é possível:
procedure TFrmPesquisaDanFe.WebBrowser1FileDownload(Sender: TCustomEmbeddedWB;
pmk: IMoniker; pbc: IBindCtx; dwBindVerb, grfBINDF: Cardinal;
pBindInfo: PBindInfo; pszHeaders, pszRedir: PWideChar; uiCP: Cardinal;
var Rezult: HRESULT);
begin
DownloadFile1.DownloadNow(pszRedir,DIR_XML+'\'+CHAVE_TMP+'.xml'); // Aqui é um componente para fazer download, mas existe vários meios de fazer o download. Onde (pszRedir é arquivo xml , Diretório + nome do arquivo
Rezult := S_FALSE; /// A grande sacada esta aqui: S_FALSE significa que não pedir para a caixinha de onde salvar.
end;
Se você tiver dúvida volte a chamar.
T+
Cara Muito Obrigado Ajudou Muito!
Valeu!