Olá Caros Amigos,
Como preparação ao meu artigo futuro sobre como utilizar criptografia em páginas da web, vou mostrar como inserir um ActiveForm em uma página HTML e como interagir através de javascript.
A limitação deste método é clara:
só é possível utilizar ActiveX em clientes Windows, e este foi o motivo de minha
frustação, pois não sei programar em Java.
Para iniciar, vamos preparar o ActiveForm:
Caso se sinta aborrecido em usar o passo-a-passo, poderá baixar tudo pronto no
link:
http://omega.trixhost.com/delphi/activex1.zip (273 Kb)
Abra o Delphi e selecione:
File | New | Other
Selecione a aba ActiveX e selecione ActiveForm.
Em New ActiveX Name, coloque DemoActiveX.
Um novo form aparentemente comum irá aparecer.
Dê-lhe o nome de ActiveDemo.
Coloque um TMemo e dois TButtons, mantendo os nomes originais.
Para cada Button, nomeie o Caption com "Evento 01" e "Evento 02".
Selecione a unit "DemoActiveX_TLB".
Pressione F12.
Na árvore na parte esquerda, selecione o segundo sub-item: IActiveDemoEvents.
Clique com o botão direito e selecione New | Method
Dê a este novo método o nome de OnEvento01.
Repita e crie outro método, chamando de OnEvento02.
Selecione agora o primeiro sub-item da árvore, o IActiveDemo.
Com o botão direito, selecione New | Method.
Dê ao novo método o nome de Metodo01.
Repita e crie o Metodo02.
Ainda em IActiveDemo, com o botão direito selecione New | Property.
Dê a essa nova propriedade o nome de
Propriedade01. Repita e crie a Propriedade02.
Note que as propriedades são criadas duplicadas.
Para a Propriedade02, no quadro à direita, no campo TYPE coloque BSTR.
Agora, retorne ao Form (unit ActiveDemoImpl1).
Na definição do form, na área "Private", coloque:
PProp01 : Integer;
PProp02 : String;
Agora vá para o final desta unit. Uma série de rotinas foram criadas
automaticamente com os nomes que demos anteriormente:
Uma Função e uma procedure para cada Propriedade (SET e GET).
Dois eventos.
Duas Procedures.
Vamos preencher da seguinte maneira:
TActiveDemo.Set_Propriedade01(Value: Integer); Colocar o código:
PProp01 := Value;
TActiveDemo.Set_Propriedade02(const Value: WideString); Colocar o
código: PProp02 := Value;
TActiveDemo.Get_Propriedade01: Integer; Colocar o código: Result :=
PProp01;
TActiveDemo.Get_Propriedade02: WideString; Colocar o código: Result :=
PProp02;
TActiveDemo.Metodo01; Colocar o código: Memo1.Lines.Add('Método 01');
TActiveDemo.Metodo02; Colocar o código: Memo1.Lines.Add('Método 02');
Botão "Evento 01" colocar: If FEvents <> NIL Then FEvents.OnEvento01;
Botão "Evento 02" colocar: If FEvents <> NIL Then FEvents.OnEvento02;
Quem está habituado a criar componentes não verá novidade nenhuma até aqui.
Anote os valores de "Width" e "Height" do form.
Compile para ver se está tudo certo.
Crie um subdiretório "Deploy" (relativo ao diretório do projeto).
Selecione o menu Project | Web Deploy
Coloque "Target Dir", "Target URL" e "HTML Dir"
como o caminho do diretório Deploy que acabou de criar.
Verifique se existe no diretório Deploy um CAB e um HTML.
Abra o HTML gerado e edite "Width e "Height" para coincidir com o do form,
acrescentando também o id do form, que representará o objeto no JavaScript.
Exemplo:
Características do form dentro das tags OBJECT:
==> width=393
==> id="ActiveDemo"
==> height=190
align=center
hspace=0
Pronto. Até agora não fizemos muita coisa prática, mas o terreno está pronto
para o próximo artigo.
Você poderá realizar coisas incríveis...
Até a próxima !
|