PChar
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.
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
Curtidas 0
Respostas
Araujojunior
04/07/2007
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.
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}
GOSTEI 0
Rodrigo
04/07/2007
Eu to com mesmo problema
sera que pode me ajudar ?
[img]http://arquivo.devmedia.com.br/forum/imagem/366104-20140408-012010.png[/img]
sera que pode me ajudar ?
[img]http://arquivo.devmedia.com.br/forum/imagem/366104-20140408-012010.png[/img]
GOSTEI 0