Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Error en delphi al agregar una porción de código (https://www.clubdelphi.com/foros/showthread.php?t=93571)

alversanz 19-11-2018 00:22:12

Error en delphi al agregar una porción de código
 
1 Archivos Adjunto(s)
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:
Código Delphi [-]
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.


La franja horaria es GMT +2. Ahora son las 12:07:29.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi