PDA

Ver la Versión Completa : Error en delphi al agregar una porción de código


alversanz
19-11-2018, 00:22:12
Saludos amigos, espero me puedan ayudar a continuación les muestro un código que adicione a un botón de una aplicación que estoy desarrollando, la cuestión es que al agregar dicho código la aplicación me muestra una venta tipo messagebox pero sin descripción alguna y no me ejecuta las instrucciones que debería realizar.

este el código del botón:

AcumuladoVentas;
ACUMULADO:=StrToFloat(lbAcumulado.Caption);
MONTOTOTAL:=StrToFloat(lbMtoFac.Caption);
If (ACUMULADO+MONTOTOTAL) <= CONFIG.MtoMaxZ Then Imprimir:=True;
If (ACUMULADO+MONTOTOTAL) > CONFIG.MtoMaxZ Then Begin
Application.MessageBox(Pchar(Documento + lbnumFac.Caption + ' no pódra ser impreso porque al acumularse sobrepasa limite de monto
para un Z.' + #13 + 'Ejecute un reporte Z para continuar con las operaciones'),'INFORMACIÓN', MB_OK OR MB_ICONINFORMATION);
DelLineasCmdNotPrinted;
UpdateDocNoPrint;
BuscarDoc;
End;


Todo funciona bien hasta la cuarta instrucción pero al agregar el código resaltado me muestra una ventana con lo que supongo es un error, el error lo pueden ver en el archivo adjunto,

para seguir con el desarrollo documente ese código pero es necesario que tenga dicha validación para el buen funcionamiento del programa, espero me puedan dar luz con esto, de antemano muchas gracias

escafandra
19-11-2018, 00:52:58
Utiliza las etiquetas de código e indenta:

AcumuladoVentas;
ACUMULADO:=StrToFloat(lbAcumulado.Caption);
MONTOTOTAL:=StrToFloat(lbMtoFac.Caption);
If (ACUMULADO+MONTOTOTAL) <= CONFIG.MtoMaxZ Then Imprimir:=True;
If (ACUMULADO+MONTOTOTAL) > CONFIG.MtoMaxZ Then Begin
Application.MessageBox(Pchar(Documento + lbnumFac.Caption + ' no pódra ser impreso porque al acumularse sobrepasa limite de monto
para un Z.' + #13 + 'Ejecute un reporte Z para continuar con las operaciones'),'INFORMACIÓN', MB_OK OR MB_ICONINFORMATION);
DelLineasCmdNotPrinted;
UpdateDocNoPrint;
BuscarDoc;
End;

La información que das es bastante parca. Application.MessageBox es la API encargada de esa ventana que dices.otra cosa es que las variables que desconocemos Documento y lbnumFac.Caption tangan algún valor válido y que no contengan ceros. Ten en cuenta que la API MessageBox maneja cadenas ASCIIZ, eso quiere decir que un carácter #0 indica el fin de la cadena lo que supone que si esta al principio, no escribirá nada. Ejecuta paso a paso y controla el valor de las variables.

Saludos.