Domanda

Nevrona Disegni' Rave Report è un Motore di Report per l'utilizzo da Embarcadero Delphi IDE.

Questo è quello che io chiamo il Rave Ciclo Infinito di bug.Nei Rave Report versione 6.5.0 (VCL10) che viene fornito in bundle con Delphi 2006, c'è un nortorious bug che affligge molti Rave report gli sviluppatori.Se si dispone di un non dataset vuoto, e le righe di dati per questo set di dati corrisponde esattamente a pagina (che è quello di dire che ci sono zero vedova righe), quindi su PrintPreview, Rave si blocca in un loop infinito, la generazione di pagine.

Questo problema è stato segnalato in precedenza in questo newsgroup sotto il seguenti voci:

  1. "errore:generare infinite pagine";Hugo Hiram 20/9/2006 8:44PM
  2. "Rave ciclo di bug.Si prega di aiutare";Tomas Lazar 11/07/2006 7:35 PM
  3. "Ciclo completo pagina di dati?";Tony Chistiansen 23/12/2004 3:41PM
  4. risposta a (3) da un altro ricorrente;Oliver Piche
  5. "Infinite lopp stampa bug";Richso 9/11/2004 4:44PM

In ognuno di questi messaggi, non c'è stata alcuna risposta da Nevrona, e non la soluzione è stata segnalata.

Forse, il problema è stato segnalato anche un alleato newsgroup (nevrona.pubblico.rave.i report.generale), e cioè:6."Continuamente la generazione di report";Jobard 20/11/2005 Anche se non è chiaro a me se (6) è il Rave ciclo Infinito bug o un altro problema.La presente pubblicazione ha fatto ottenere una risposta da Nevrona, ma è stato più in relazione a più regioni ("C'è un problema quando si utilizza più regioni che vanno oltre un interruzione di pagina.") a questo punto il problema di zero vedove.

È stato utile?

Soluzione

Questo è più di un work-around che una vera soluzione.Ho postato questo lavoro intorno al Nevrona newsgroup (Gruppo=nevrona.pubblico.rave.sviluppatore.delphi.rave;Subject="siete affetti da Rave Ciclo Infinito di bug?:Lavoro-di tutto annunciato.";Data=13/11/2006 7:06 PM)

Così qui è la mia soluzione.È più di un work-around di un buon soluzione a lungo termine, e spero che Nevrona darà a questo problema alcuni grande attenzione nel prossimo futuro.

  1. Dato il particolare layout di report, contare il numero massimo di righe per pagina.Diciamo che questo è di 40.
  2. Impostare un contatore per contare le righe all'interno della pagina (invece di righe all'interno di tutto il report).Si potrebbe fare questo sia uno script di evento o da un CalcTotal componente.
  3. Definire un OnBeforePrint script gestore di eventi per le principali banda di dati.
  4. In questo gestore di eventi impostare il FinishNewPage proprietà dei principali banda dati per essere Vero quando la riga-per-il conteggio delle pagine è di una o due sotto il max (nel nostro esempio, questo sarebbe 38).E impostare a False in tutti gli altri casi.L'effetto di questo è quello di dare ad ogni pagina un numero diverso da zero delle vedove (in questo caso 1..38), evitando, così, la condizione che dà luogo al Rave Infinite loop problema.

Altri suggerimenti

Grazie tanto per questo Sean - purtroppo questo non avrebbe funzionato per me, ma mi è venuta un'altra soluzione...Si vede che ho un memo in cima alla regione che potrebbe espandersi o contrarsi a seconda di quante note l'utente ha lasciato nel database.Questo significa che il numero di righe che è possibile inserire in una pagina varia.Tuttavia.c'è un'altra soluzione è usare il MaxHeightLeft proprietà di un databand.Tutto quello che devi fare è misurare l'altezza del vostro databand, moltiplicare per 2, e mettere questo nella vostra MaxHeightLeft proprietà.Questo forzerà 1 o 2 record sulla pagina successiva se si riempie molto.

grazie un sacco, questo thread mi aiuta a uscire dal mio problema con infinite stampa loop in Nevrona Rave...., Ho impostato MinHeightLeft a 0,500, questa impostazione è lavoro, ma io non sono sicuro che funzionerà per un altro set di risultati della query di report.

Master, La soluzione è MinHeightLeft a 0,500 , io uso la struttura wastefit area in una vera e generato il ciclo di stampa secondo, ma quando è cambiata la proprietà MinHeightLeft a 0,500 l errore di scomparire.

Grazie !

Atte Fabiola Herrera.Fabi_ucv@hotmail.com

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top