Fórum PChar #343156

04/07/2007

0

Estou usando no Evento OnDrawColumnCell de um DBGrid o seguinte código:

if (dm_.QryChequesPosicao.Text = ´RECEBIDO´) then
begin
with DBGrid2.Canvas do
begin
Font.Color := clBlue;
FillRect(Rect);
S := Column.Field.AsString;
R := Rect;
DrawText(Handle, PChar(S), Length(S), R, DT_LEFT or DT_LEFT);
end;
end;

Porém, no rodapé do Delphi é exibida a seguinte mensagem:

[Warning] ContCheques.pas(173): Unsafe type ´PChar´

O sistema não apresenta erros durante a execução, nem na compilação, porém quero muito tirar essa mensagem.

Alguém sabe o que devo fazer?


Antecipadamente agradeço.

Fiquem com Deus e na Paz do Nosso Senhor Jesus Cristo.


Pro-luck

Pro-luck

Responder

Posts

05/07/2007

Araujojunior

Aloisio,

Boa Noite,

Esses avisos sobre unsafe qualquer coisa podem ser ignorados... eles foram introduzidos no Delphi 7 para facilitar a migração de código para a plataforma .NET. Se quiser, desabilite esses avisos em Project|Options|Compiler messages.

Warnings do tipo Unsafe type (tipo inseguro) normalmente acontece quando voce passa algo dinamico para o PChar, porem você esta atribuindo o valor da coluna a para variavel S, não era mais para aparecer o erro, acho que eh um caso a ser estudado, mas para resolver o seu problema você pode incluir no seu código a diretiva de compilação que desabilita o Warning, ou desabilitar como expliquei acima.

{$WARNINGS OFF}
if (dm_.QryChequesPosicao.Text = ´RECEBIDO´) then 
begin 
with DBGrid2.Canvas do 
begin 
Font.Color := clBlue; 
FillRect(Rect); 
S := Column.Field.AsString; 
R := Rect; 
DrawText(Handle, PChar(S), Length(S), R, DT_LEFT or DT_LEFT); 
end; 
end; 
{$WARNINGS ON}



Responder

Gostei + 0

08/04/2014

Rodrigo

Eu to com mesmo problema
sera que pode me ajudar ?



[img]http://arquivo.devmedia.com.br/forum/imagem/366104-20140408-012010.png[/img]

Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar