Inicie uma aplicacao Intraweb no Delphi. O Assunto e sobre passar, e recuperar, parametros entre requisicoes HTTP. Especificamente, pretendo exemplificar como chamar uma outra aplicacao web, sendo que nesta chamada passaremos parametros, os quais, obviamente, serao recuperados e processados pela aplicacao que foi requisitada.Neste artigo criaremos duas aplicacoes Intraweb ISAPI. Um delas (AppEstacaoZNSubmit) servira para passar parametros para outra (AppRequestQueryFieldsEstacaoZN). Esta segunda por sua vez, recupera os valores destes parametros processa e os exibe. Ok, definido o que pretendemos fazer passamos agora a parte pratica.A seguir o codigo fonte da aplicacao ISAPI que chama e passa os parametros. Salvei essa app de com o nome AppEstacaoZNSubmit.O Form principal e unico desta aplicacao IWUnit1.pas:unit IWUnit1;{PUBDIST}interfaceuses IWAppForm, IWApplication, IWTypes, IWCompButton, Classes, Controls, IWControl, IWCompEdit, IWCompLabel;type TformMain = class(TIWAppForm) IWEdit1: TIWEdit; IWButton1: TIWButton; IWLabel1: TIWLabel; EdtURLZN: TIWEdit; IWLabel2: TIWLabel; procedure IWAppFormCreate(Sender: TObject); procedure IWButton1Click(Sender: TObject); public end;implementation{$R *.dfm}uses ServerController, SysUtils, IWForm;procedure TformMain.IWAppFormCreate(Sender: TObject);begin IWEdit1.Text := ''; IWButton1.Caption := 'Enviar - ZN'; IWLabel1.Caption := 'Digite o valor que sera enviado'; IWLabel2.Caption := 'Digite a URL da aplicacao ISAPI que sera chamada' + 'e exibira o valor digitado acima.'; EdtURLZN.Text := '';end;procedure TformMain.IWButton1Click(Sender: TObject);const AJSComando = 'window.open("%s?estacaoZnValor=%s")';begin AddToInitProc(Format(AJSComando, [EdtURLZN.Text, IWEdit1.Text]));end;end.Em seguida o .dpr:library AppEstacaoZNSubmit;uses IWInitISAPI, ServerController in 'ServerController.pas' {IWServerController: TIWServerControllerBase}, IWUnit1 in 'IWUnit1.pas' {formMain: TIWForm1};{$R *.RES}begin IWRun(TFormMain, TIWServerController);end.Nao editei nada no IWServerController, portanto apos compilar e efetuar o deploy da AppEstacaoZNSubmit.dll no IIS damos por encerrada esta etapa do nosso exemplo. O proximo passo e codificar a segunda aplicacao. Logo, novamente inicie um novo projeto Intraweb ISAPI, salve com o nome de AppRequestQueryFieldsEstacaoZN. No evento OnRender do IWForm1 implementaremos o que especificamos anteriormente. Abaixo, o fonte da IWUnit1.pas:unit IWUnit1;{PUBDIST}interfaceuses IWAppForm, IWApplication, IWTypes, Classes, Controls, IWControl, IWCompLabel, IWCompListbox, IWCompMemo;type TformMain = class(TIWAppForm) IWLabel1: TIWLabel; procedure IWAppFormRender(Sender: TObject); public end;implementation{$R *.dfm}uses ServerController, IWForm, SysUtils;procedure TformMain.IWAppFormRender(Sender: TObject);const ZnMsg = 'www.estacaozn.blogspot.com O Valor recebido de "%s" e: %s';begin IWLabel1.Caption := Format(ZnMsg, [WebApplication.Request.RemoteAddr, WebApplication.Request.QueryFields.Values['estacaoZnValor']]); IWLabel1.Font.Size := 20; end;Vejamos o .dpr da AppRequestQueryFieldsEstacaoZN.dpr.library AppRequestQueryFieldsEstacaoZN;uses IWInitISAPI, ServerController in 'ServerController.pas' {IWServerController: TIWServerControllerBase}, IWUnit1 in 'IWUnit1.pas' {formMain: TIWForm1};{$R *.RES}begin IWRun(TFormMain, TIWServerController);end.Apos proceder a implementacao deste modulo conforme ilustrado acima, semelhante ao exemplo anterior compile e efetue o deploy da AppRequestQueryFieldsEstacaoZN.dll no ISS. Feito isso ja e possivel testar. No browser, chame o diretorio virtual definido no deploy da primeira aplicacao (AppEstacaoZNSubmit.dll). Digite no IWEdit1 o valor para parametro estacaoZnValor, o qual sera exibido. Digite tambem a URL da segunda aplicacao no EdtURLZN, para somente entao clicar no IWButton1.Na primeira aplicacao, no evento OnClick do IWButton1, chamamos o metodo AddToInitProc de TformMain. Este metodo nos permite colocar scripts (Javascript) que serao executados quando a funcao Initialize()" padronizada pelo framework Intraweb, quando o browser estiver interpretando a tag body, da pagina construida pelo Intraweb. No body onload e definida a chamada a funcao Initialize()". function Initialize() {InitSubmitter();StaticInit();if (document.body.leftMargin < 0 && document.body.topMargin < 0) { document.body.leftMargin = 0; document.body.topMargin = 0;}InitRects(614, 451);InitIWCLObjects();window.open("http://localhost/requesestacaozn/?estacaoZnValor=Landjah Estacao ZN")}Entao, podemos concluir que, no Intraweb quando voce precisar executar uma funcao qualquer no evento onload no body basta para isso passa-la como parametro no metodo AddToInitProc do TIWForm em questao.Na segunda aplicacao, AppEstacaoZNSubmit, o