AlternateText – ToolTip (Tags ASPX)

tooltip

Me deparei por diversas vezes com implementos Web utilizando a propriedade AlternateText para mostrar um hint descritivo referente a função do botão/imagem/etc.
O AlternateText (para controles asp´s e alt para html padrão) tem a função de exibir o texto definido em seu valor quando a página não consegue renderizar a imagem e para softwares de leitura para deficientes visuais.
Um AlternetText jamais será exibido simultâneamente com uma imagem.
Para exibir uma informação complementar devemos utilizar a propriedade ToolTip.

“Tooltip (ou dica de contexto) é aquela moldura pop up que abre quando você passa o mouse sobre um elemento da interface (normalmente uma palavra em um texto) e que contém uma explicação adicional sobre aquele elemento que recebeu o ponteiro do mouse sobre ele.

É utilizado em conjunto com um cursor, normalmente um ponteiro do mouse. O usuário paira o cursor sobre um item, sem clicar ele, e uma pequena “caixa hover” aparece com informações complementares relativas ao item a ser pairavam sobre.” – Wikipedia

Podemos até mesmo personalizar um ToolTip através da criação de uma classe com CSS definindo posição, cor de fundo, fonte, etc.

Functions no Where – Oracle

Um problema de desempenho de um SELECT com
WHERE SUBSTR(CAMPO,1,8) = : PARAMETRO
A recomendação é a criação de índices baseados em funções (que serão abordados em futuros posts), porém os mesmos somente a partir da versão 10g. Caso a coluna CAMPO tenha um índice o mesmo não será utilizado fazendo com que a consulta tenha um plano de execução com TABLE FULL SCAN na respectiva tabela.
Para reverter a situação com versões anteriores ao Oracle 10g uma boa prática faz com que o plano de execução utilize o índice da coluna CAMPO:
WHERE CAMPO LIKE : PARAMETRO || ‘%’

O parâmetro deve ser passado corretamente para a alteração em sua aplicação. Exemplo Delphi : Copy(variavel,1,8);

Web Service consumindo Web Service – IIS – Proxy

Recentemente precisei criar um web service onde o mesmo foi publicado no IIS da minha rede interna para consumo dos aplicativos de um ERP.
Alguns processos desse web service requerem o consumo de um web service externo a minha rede interna, então esbarrei no problema: A rede possui proxy de autenticação de usuário para acesso externo.
Como fazer minha aplicação autenticar nesse proxy?

Solução:

Na classe gerada na importação do WSDL do web service externo faça a seguinte alteração:

No método GetHostaHost inclua :

RIO.HTTPWebNode.Proxy := ‘host_proxy:porta’;
RIO.HTTPWebNode.UserName := ‘ domínio\usuário’;
RIO.HTTPWebNode.Password := ‘senha’;

Caso você não tenha importado o WSDL e você incluiu direto o componente HTTPRIO na sua aplicação altere essas propriedades diretamente no componente.

Até!

Out of Memory – Delphi 5

Em mais uma busca para os eternos bugs do Delphi 5, realizei uma pesquisa para resolver o problema de Out of Memory.

O que é rlink32.dll ?

Esses arquivos são da Borland, eles possuem descrição Linker Resource. É a biblioteca de vínculo dinâmico, é carregada e executada em qualquer processo de execução.
Percebi que o erro muitas vezes é causado por esta DLL, então pesquisei e a mesma no Delphi 5 está desatualizada.

Então a solução!

Basta atualizar essa DLL pegando a mesma do Delphi 2010 (Download rlink32) e substituir (ou se preferir renomear a atual do Delphi 5) em seu diretório origem (

C:\

Arquivos de programas\Borland\Delphi 5\Bin)

Não haverá nenhuma incompatibilidade!

Essa versão está estável e os bugs existentes foram altamente minimizados.

Ps: Essa solução atende ao problema:

[Error] RLINK32: Error reading file “”
[Fatal Error] Out of Memory

Existe um outro tipo de problema de estouro de memória que ainda não descobri  uma solução: Out of memory while expanding memory stream.
Esse erro de streaming ocorre quando um build ocupa mais memória do que deveria. Isso ocorre por conta de units adicionadas além da necessidade nos uses, search paths desnecessários, conditionals desnecessárias, etc.
Com isso a alocação de memória do build estoura e ocorre o erro.

Um conselho seria “passar um pente fino” no seu projeto.

Por enquanto é só pessoal.

Dúvidas ou sugestões estou a disposição!