Eventos da Aplicação

Em todos os eventos da aplicação, o objeto this estará disponível para que seja possível acessar o objeto IApplication que representa a aplicação. Os métodos e propriedades públicos deste objeto podem ser invocados e utilizados em todos os eventos citados abaixo.

OnHeader

Através deste evento é possível mudar o cabeçalho das páginas relativas a aplicação: a página principal de uma aplicação com mais de uma base e a página de mudança de senha. A aplicação LOJA trata o evento OnHeader para mudar o cabeçalho da aplicação. O código a seguir mostra como o cabeçlho da aplicação LOJA é alterado através do uso deste evento.

1. Function OnHeader
2.   OnHeader = "<table cellpadding='0'  cellspacing='0' border='0' width='100%'>" & _
3.     "<tr bgcolor='#E49A1A'>" & _
4.     "<td>" & _
5.     "<a href=index.asp?appname=loja&op=applist><img src='loja/header_loja.gif' border=0>" & _
6.     "</td>" & _
7.     "</tr>" & _
8.     "<tr bgcolor='#590B7A' align='right'><td height=28 class='menu'>" & this.Menu & "  </td></tr>" & _
9.     "<tr bgcolor='#FFFFFF' align='right'><td height=1><img src='loja/espaco.gif' height='1'></td></tr>" & _
10     "</table>"
11. End Function

Veja que o evento OnHeader deve ser declarado como uma função e a string retornada na função deve ser o código HTML do novo cabeçalho. O código acima tem um trecho que merece destaque. Na linha 8 econtramos uma chamada ao objeto this que, como dissemos acima, é o objeto relativo a aplicação (IApplication) e assim podemos acessar seus métodos e propriedades. A chamada this.Menu permite que o menu padrão seja mantido mesmo com a mudança na aparência do cabeçalho.

OnInit

Este evento ocorre assim que uma instância da aplicação é carregada em memória. Pode ser utilizada para inicializar algumas variáveis e propriedades da aplicação.

Sub OnInit
...
End Sub

OnLogin

Este evento ocorre após o login do usuário. Assim, caso seja necessário fazer algum tratamento diferenciado de acordo com o usuário que está entrando na aplicação, este tratamento deve ser feito aqui.

O exemplo que usaremos para este evento pode ser colocado na aplicação LOJA. Os atributos de alguns campos das bases são modificados no caso de o usuário logado ser um administrador. Quando um administrador faz login na aplicação, supomos que seja apenas para atividades administrativas, assim, excluimos o campo "capa" tanto da base de livros como da base de discos da listagem de registros.

Sub OnLogin( request )
  If this.Application.User.Administrator Then
    this.IBases.Item("GDDISCOS").Fields.Item( "capa" ).List = False 
    this.IBases.Item("GDLIVROS").Fields.Item( "capa" ).List = False 
  End If
End Sub

Há um parâmetro que é passado no evento OnLogin, trata-se de um request do LightBase Web. É possível passar no login da aplicação parâmetros adicionais na url para serem capturados aqui.

OnLoginFooter

Este evento ocorre quando a aplicação apresenta o rodapé da página de login. Caso desejemos mudar a página de login, este evento deve ser tratado. O evento OnLoginFooter é tratado na aplicação de DISCOS. A seguir apresentamos o código do evento. Veja que o evento deve ser declarado como uma função e deve retornar um código em HTML

Function OnLoginFooter
  OnLoginFooter = "<table align=center>" & _
    "<tr bgcolor='#12810A'>" & _
      "<td valign='top' align='center'>" & _
        "<img  src='discos/login_footer.gif'" & _  
      "</td>" & _      
    "</tr>" & _
    "</table> </td></tr></table>"
End Function

OnLoginHeader

Este evento ocorre quando a aplicação apresenta o cabeçalho da página de login. Caso desejemos mudar a página de login, este evento deve ser utilizado para substituir o cabeçalho padrão do login. A seguir apresentamos o código do evento utilizado na aplicação de DISCOS. Veja novamente que o evento deve ser declarado como uma função e deve retornar um código em HTML.

Function OnLoginHeader
  OnLoginHeader = _
    "<table cellpadding='0' cellspacing='0' border='0' height='100%' width='100%'>" & _
      "<tr><td>" & _
        "<table align=center cellpaddin=0 cellspacing=0 border=0>" & _
          "<tr bgcolor='#12810A'>" & _
            "<td valign='bottom' height='45%'>" & _
              "<img  src='discos/login_header.gif'" & _
            "</td>" & _			
          "</tr>"
End Function