Difference between revisions of "FPReport FAQ"

From Free Pascal wiki
Jump to navigationJump to search
m
Line 43: Line 43:
 
=== My Report does not run/start in Windows ===
 
=== My Report does not run/start in Windows ===
 
Start the applikation from the console, so you can see if some dll's are missing. Normally freetype-6.dll and zlib1.dll are missing. For more information look into the README.txt.
 
Start the applikation from the console, so you can see if some dll's are missing. Normally freetype-6.dll and zlib1.dll are missing. For more information look into the README.txt.
 +
 +
=== My Font is not found ===
 +
You have to use the PostScriptName of the font. Eg. under windows you have the font 'Arial' - this is one of the standard font - but you have to write Memo.Font.Name := 'ArialMT' because ArialMT is the correct PostScriptname.
 +
 +
<syntaxhighlight>
 +
  for i:= 0 to gTTFontCache.Count-1 do begin
 +
    try
 +
      Memo1.Append(TFPFontCacheItem(gTTFontCache.Items[i]).HumanFriendlyName +'...'+ TFPFontCacheItem(gTTFontCache.Items[i]).PostScriptName);
 +
    except
 +
      Memo1.Append('ERROR in...'+ TFPFontCacheItem(gTTFontCache.Items[i]).FileName)
 +
    end;
 +
  end;
 +
</syntaxhighlight>

Revision as of 21:13, 1 October 2017

General

Read the README.txt file

Before you compile the FPReport, have a look at the README.txt

FPReport <> LazReport

FPReport is not LazReport !! This are 2 differnet reportsystems.

Papermanager must registered

You never registered the standard page sizes with:

  if PaperManager.PaperCount=0 then
    PaperManager.RegisterStandardSi

Fontmanager

Your report used LiberationSans font. Make sure you added the search paths to the font cache. eg:

  {$IFDEF UNIX}
    gTTFontCache.SearchPath.Add(GetUserDir + '.fonts/');
    gTTFontCache.SearchPath.Add('/data/devel/Wisa/fonts/Liberation/');
    gTTFontCache.BuildFontCache;
  {$ENDIF}

In windows this useable

  gTTFontCache.ReadStandardFonts;
  gTTFontCache.BuildFontCache;

FPC FPReport

I did not find FPReport in my FPC dir

It is located in the FPC\packages\fcl-fpreport dir, but only in FPC trunk (=3.1.1) since rev. 36962 (20.Aug. 2017)

What is the minimum requirement

Info from Mailinglist - FPC 2.6.4 (and Lazarus 1.6.2), but you will need to copy some additional units from the trunk version of the FPC source repo (in particular, fpexprpars, and fcl-pdf) and the Lazarus trunk repro too

Lazarus FPReport

I did not find FPReport in my Lazarus dir

Only in Lazarus trunk since rev. 55719 (20.Aug. 2017). Look in LAZARUSDIR\components\fpreport the is a runtimepackage lclfpreport.lpk.

My Report does not run/start in Windows

Start the applikation from the console, so you can see if some dll's are missing. Normally freetype-6.dll and zlib1.dll are missing. For more information look into the README.txt.

My Font is not found

You have to use the PostScriptName of the font. Eg. under windows you have the font 'Arial' - this is one of the standard font - but you have to write Memo.Font.Name := 'ArialMT' because ArialMT is the correct PostScriptname.

  for i:= 0 to gTTFontCache.Count-1 do begin
    try
      Memo1.Append(TFPFontCacheItem(gTTFontCache.Items[i]).HumanFriendlyName +'...'+ TFPFontCacheItem(gTTFontCache.Items[i]).PostScriptName);
    except
      Memo1.Append('ERROR in...'+ TFPFontCacheItem(gTTFontCache.Items[i]).FileName)
    end;
  end;