17/07/13 Delphi: Localizando erros de Access Violation

Seu aplicativo está gerando uma exceção não capturada e está exibindo uma mensagem de Access Violation e você quer identificar o local (arquivo, linha e código) onde o erro está ocorrendo? Eis o caminho:

  • Execute a aplicação [Run], entre no modo de depuração [Pause], vá em [Search] e em seguida em [Goto Address]
  • Entre com o endereço mostrado na mensagem [Ex: $00407E50 - note que você deve adicionar o sinal de $] e faça a busca – se encontrado, o endereço será selecionado automaticamente na aba CPU.
  • Adicione um Breakpoint no endereço recém encontrado [CTRL + B]
  • Execute a aplicação novamente.
  • Quando o Breakpoint for encontrado a aplicação será pausada, nesse momento você então poderá verificar o Caller [CTRL + L]  - onde poderá visualizar a origem da chamada [arquivo, linha e código executado].

Fica aí a dica!

24/09/12 TStringList: DelimitedText, Delimiter e StrictDelimiter

Uma dica para você que precisa usar as propriedades DelimitedText e Delimiter (classe TStringList) e está tendo problemas com espaços em branco na string:

Defina a propriedade StrictDelimiter como True!

O que ocorre é que, quando StrictDelimiter é definida como False (valor padrão),  o caractere de espaço também é interpretado como um delimitador, logo a string também é quebrada quando se encontra um espaço.

Fica aí dica!

01/03/12 Enviando e-mails com Delphi: anexos sem nome!

Existe um bug na unit IdMessageClient.pas do projeto Indy, inicialmente destribuído com o Delphi 2009 (D2009), que faz com que os nomes dos arquivos anexados através dos componentes TIdMessage / TIdAttachmentFile não sejam enviados corretamente – resultando em anexos noname.

Depois de muito pesquisar acabei encontrando a solução aqui, solução esta que envolve a modificação e recompilação do arquivo IdMessageClient.pas. 

Para resolver o problema basta seguir os passos descritos na página mencionada ou então, se preferir, substituir os arquivos IdMessageClient.pasIdMessageClient.dcu originais por estes já atualizados/recompilados.

Tip: Leia o arquivo leiame.txt incluso!

Fica aí a dica!

15/12/11 Enviando e-mails com Delphi: OpenSSL + Indy10

Dica rápida para aqueles precisam enviar e-mails com Delphi e necessitam da autenticação SSL – leia-se Gmail!

A versão mais recente do OpenSSL (libeay32.dll + ssleay32.dll) para Windows pode ser obtida aqui.

Fica aí a dica!