Uses en FastReport
Buenas, la verdad, es que estoy medio perdido con este tema.
No puedo hacer que funcione una dichosa "uses" dentro de FastReport. Tal vez sea porque no se puede (de hecho los manuales dicen que sí) o yo no estoy dando en la tecla. En realidad lo único que quiero hacer es que me muestre un cartel que me diga que objeto se va imprimiendo. Al estilo OutputDebugString(), la cuestión es que no he conseguido hacerlo. No tiene sentido poner un ShowMessage() porque se detendría en cada cosa que se vaya poniendo en la hoja, por eso mi intención es que se vayan registrando en algún lugar, y me pareció lo mas simple ponerlos en los Eventos de Delphi. Si no puedo ponerlos ahí a los mensajes, quisiera me dijeran donde. Muestro aquí un pedacito de código de lo que quiero hacer.
Cuando quiero ejecutar esto me dice "Begin expected". Bueno, espero se entienda y me puedan dar una mano. Santiago. |
|
Las uses no van entre comillas. No son un string.
Prueba como te dice AgustinOrtu. Si el compilador te dice que no encuentra esa librería, deberás darle los path en las opciones del proyecto. En Delphi 6 es Project --> Options --> Directories/conditionals --> Search path. |
Lo he probado como me dijeron, pero ahora sale el cartel "Identifier expected"
Luego, fui a Project --> Options --> Directories and Conditionals --> Include file search text --> C:\Program Files (x86)\Embarcadero\RAD Studio\12.0\source\rtl\sys, pero la cosa no cambia. Estoy en Delphi XE5. |
Vas a tener que darnos más información:
* Pon el mensaje de error completo y sin traducir. Puede ser que el mensaje de "Identifier Expected" se refiera a alguna otra línea. * Muestra el código que tienes hasta ahora. El real. El resumen que has puesto en el primer mensaje, al no ser algo que pueda compilar no nos es útil. He hecho una prueba desde cero y compila correctamente. Solo hice estos pasos: 1 File --> New --> VCL Forms Application - Delphi 2 En el Formulario que aparece agregué el evento OnShow. 3 Puse la línea que te da problemas. Quedó así:
|
Ahhh, el ejemplo que pusiste funciona porque lo estás haciendo en el TForm1.
Lo que yo digo es dentro de la estructura de FastReport (PascalScript) Transcribo lo que tengo: En un DataModule tengo un frxReport (frxTapaBoletinViejo), entrando a él quiero hacer que FastReport me cuente que caja de texto ha sido impresa, de ahí que me pareció lo mas adecuado que eso salga a través de EventLog de Delphi. Esto es lo que tengo en el DataModule
Ahora bien, entro en el frxReport (Edit report), me aparecen las herramientas de edición propias de FastReport. Y en la parte de código (code), es donde intento poner el código que he puesto en post's anteriores. Dentro de la pestaña Code he puesto lo siguiente:
Al intentar correrlo, el error es "Identifier expected" y el cursos se posiciona en la "S" (la primera) de System.SysUtils En el formulario FastReport solament tengo una cajita de texto "AvisoComprobante" que es un Memo común de FastReport. |
Intenté poniendo un frxReport en el TForm1 y la cosa no ha cambiado.
Teniendo el componente frxReport en un DataModule como en un TForm no salva el error. Espero que ahora se entienda mejor. Gracias compañeros. Santiago. |
Ahora entiendo, no es en Delphi!
Es en el script de FastReport. El script no está unido a Delphi. No puedes utilizar cosas de tu programa en ese script. Solo lo que FastReport te "traduce". Creo que lo mejor es que en tu aplicación Delphi agregues algo al evento OnEnterRect del componente frxReport. Algo así:
|
Cita:
Uhhh, perfecto. Si logro hacer funcionar eso sería genial. Lo pongo en práctica y publico los resultados aquí. CONSULTA ADICIONAL: ¿De esta manera podría sacar un valor que se generó dentro del Script FastReport? Por ejemplo, ¿el nro de página que acaba de imprimir?. Muchas gracias. Santiago. |
No hay un evento OnEnterRect()...
¿Será este el evento correcto?:
Santiago. |
Perdón por la confusión. Lo que te he comentado es de otra vesión de FastReport.
En la que tu comentas (creo que debe ser la 3 o 4) debes utilizar el evento OnBeforePrint.
A OnGetValue entra cada vez que evalúa una variable. Yo la utilizo para pasarle información que sería difícil controlar desde FastReport.
|
Mi versión de FastReport es la 5.2.
Me voy a sentar manos a la obra y luego publico mis resultados. Gracias. Santiago. |
La franja horaria es GMT +2. Ahora son las 22:41:00. |
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