Application.MessageBox

Delphi

29/04/2003

ola
estou tenado fazer isso aki

valor:=floattostr(Dm.IBITEMENTRAVALORUNI.Ascurrency+(DM.IBPRODMARGEM.AsCurrency*Dm.IBITEMENTRAVALORUNI.AsCurrency/100));

if Application.MessageBox(´O Produto ´+ DM.IBPRODDESCRIRAPIDA.value+´ possue valor de venda de ´+ floattostr(Dm.IBPRODVALVENDA.value)+´ foi sugerido um novo valor de ´+ valor+´, deseja mudar para o novo valor?????´,´Atenção!!´,mb_yesNo+mb_iconQuestion) = ID_Yes then

só q o cursor fica na frente de ´atenção´ e dá um erro

[Error] entrada.pas(158): Incompatible types: ´String´ and ´PChar´

alguém sabe o q houve?
tentei mudar para Pchar(´Atenção!!´) e naum deu .... alguém sabe o q houve?


Fer

Fer

Curtidas 0

Respostas

Schumacher

Schumacher

29/04/2003

É o seguinte,

Os dois primeiros parâmetros da função MessageBox são do tipo PChar. Se você utilizar uma string sem concatenações irá funcionar, por exemplo:

Application.MessageBox(´Desejas excluir este registro?´, ´Atenção!´, MB_ICONWARNING + MB_YESNO);

Mas se você desejas utilizar concatenações nos parâmetros, aconselho você a fazer da seguite forma:

var
Mensagem: String;


Mensagem = ´O Produto ´+ DM.IBPRODDESCRIRAPIDA.value+´ possue valor de venda de ´+ floattostr(Dm.IBPRODVALVENDA.value)+´ foi sugerido um novo valor de ´+ valor+´, deseja mudar para o novo valor?????´
if Application.MessageBox(PChar(Mensagem), ´Atenção!´, mb_yesNo+mb_iconQuestion) = ID_Yes then

Assim, lhe garanto que funcionará!


GOSTEI 0
POSTAR