FJLISTENER

Topics: General
Aug 23, 2010 at 10:29 PM

I have been using the FJLISTENER with great success with a memo field on my report. The memo field is usually a brief marketing description, consisting of about 15 lines of text..

I'm finding that FJListener does not work with every font.

Unfortunately, our design team is insisting on a font called  "Helvetica LT Std", and as I'm sure you have guessed, this is one of the fonts that doesn't  work. Basically the report prints and the field is blank.  No errors, just blank.

If I change the font to a different Helvetica font, the report prints fine. I've tried several of the Helvetica fonts and I'm finding some work and others do not. Can anyone give me an idea how to get FJLISTENER to recognize the additional fonts.

Also,

The designed team has designed the report using Publisher. Publisher allows them to change the LEADING (that's the spacing between the lines of text). Does anyone have an idea how I can adjust the "LEADING" in a VFP report. I'm hoping I can add a few additional lines to the FJLISTENER.PRG

Developer
Sep 27, 2010 at 10:49 PM

Dave,

FJListener uses Gdi+. It works only with TRUE TYPE fonts ! Please make sure to be using this type !

Sep 28, 2010 at 5:18 PM

Thank you for the reply.

I’d like to report (I think) a bug which I have fixed and ask for your help with a minor issue.

The bug is that you program always sends the report to PREVIEW. My issue is I can’t get you program to recognize the NOPAGEEJECT command. I have several different reports that I output together into a single PDF. I do this by printing my reports directly to my PDF printer and adding the command NOPAGEEJECT to my REPORT FORM … command.

First the bug, in the function LOADREPOR

You have:

DO CASE

CASE .ListenerType <> -1

CASE .CommandClauses.Preview

.ListenerType = 1

CASE .CommandClauses.OutputTo = 1

.ListenerType = 0

ENDCASE

ENDWITH

In the first CASE statement, I think you want the <> to be =.

I have changed it as follows: Note I have added a clause for NOPAGEEHECT.

FUNCTION LoadReport

WITH This

DO CASE

CASE .ListenerType = -1

Return

CASE .CommandClauses.Preview

.ListenerType = 1

CASE .CommandClauses.NOPAGEEJECT

.ListenerType = 0

CASE .CommandClauses.OutputTo

.ListenerType = 0

ENDCASE

ENDWITH

*DO CASE

*CASE .ListenerType <> -1

*CASE .CommandClauses.Preview

* .ListenerType = 1

*CASE .CommandClauses.OutputTo = 1

* .ListenerType = 0

*ENDCASE

*ENDWITH

DODEFAULT()

ENDFUNC

I know I can branch off correctly on the nopageeject case statement, but the program now ignores the nopageeject command. If I run my report without any of the FJ stuff, the nopageeject works fine.

This is the command I am issuing:

REPORT FORM front_01 OBJECT loReportListener TO PRINTER NOPAGEEJECT NOCONSOLE

Yours Truly

Dave Viviano

_____________________________________________

Dave@bellmarc.com or David.viviano@verizon.net

645 West 239th Street

Riverdale N.Y. 10463

Home: (718) 543-0922

Cell: (917) 838-2689

Developer
Sep 28, 2010 at 6:31 PM

Hi Dave,

Thanks for the fix! I'll check this situation later, and will come back if I find something.

Regards

Cesar