广告
淘宝内部优惠券
当前位置: 开发异常方案库» Delphi » WIN10+DELPHI10.3+FastReport6.3 使用fastreort里面demo案例时报错 所有的都一样 报错文件是frxXML.pas

WIN10+DELPHI10.3+FastReport6.3 使用fastreort里面demo案例时报错 所有的都一样 报错文件是frxXML.pas

开发异常方案库  收集整理于:2020-05-01 14:44:00  浏览:66次
FastReport6.3 是中文官网下载的,想看看demo里面的例子,运行的时候一直报错;都是相同的错误;求高手解答下,是不是fastreport没装好?

------网友观点--------------------
1、你用的是试用版,可能有限制。 2、信息提示最后一行,说明FRXML.pas 有问题 3、代码窗口{$ifdef}处得知,你上面的DEMO是DELPHI 4.0的,而你现在的用 是DLPHI XE 10.3 还比Delphi 10.2 Tokyo  32  VER320 新,由此可推断全部是由于字符串字符类型发生了变化。 Delphi xe10, 支持AnsiChar和WideChar两种基本的字符类型.,你DEMO中的字符串改为ANSICHAR试试

------网友观点--------------------
错误提示比较明显,一个一个查吧,好多都更新了旧函数,比如第一个应该是SysUtils单元里面用CharInSet函数,你可能使用了key in []。

------网友观点--------------------
把 报错Error的两行的函数按照他的提示换一下。 或者google一下

------网友观点--------------------
frmxl.pas单元引用错误,应该是找不到这个文件,自己增加lib可以搜索的路径,然后就应该可以运行demo的例子了。

------网友观点--------------------
procedure TfrxXMLDocument.CreateTempFile;
var
{$IFDEF FPC}
  Path: String;
{$ELSE}
{$IFDEF Delphi12}
  Path: WideString;
  FileName: WideString;
{$ELSE}
  Path: String[64];
  FileName: String[255];
{$ENDIF}
{$ENDIF}
begin
  if FTempFileCreated then Exit;
{$IFDEF FPC}
  Path := FTempDir;
  if (Path = '') or not DirectoryExistsUTF8(Path) then
    Path := GetTempDir;
  FTempFile := GetTempFilename(Path,'');
  FileCreate(FTempFile);
{$ELSE}
{$IFDEF Delphi12}
  SetLength(FileName, 255);
  Path := FTempDir;
  if (Path = '') or not DirectoryExists(String(Path)) then
  begin
    SetLength(Path, 255);
    SetLength(Path, GetTempPath(255, @Path[1]));
  end
  else
{$ELSE}
  Path := FTempDir;
  if (Path = '') or not DirectoryExists(Path) then
    Path[0] := Chr(GetTempPath(64, @Path[1])) else
{$ENDIF}
    Path := Path + #0;
  if (Path <> '') and (Path[Length(Path)] <> '\') then
    Path := Path + '\';
  GetTempFileName(@Path[1], PChar('fr'), 0, @FileName[1]);
{$IFDEF Delphi12}
  FTempFile := StrPas(PWideChar(@FileName[1]));
{$ELSE}
  FTempFile := StrPas(@FileName[1]);
{$ENDIF}
{$ENDIF}
  FTempStream := TFileStream.Create(FTempFile, fmOpenReadWrite);
  FTempFileCreated := True;
end;
这是6.5.5版本的代码,建议你换一个版本使用,不要用你这6.3了。

------网友观点--------------------

------网友观点--------------------
发布此文章仅为传递网友分享,不代表本站观点,若侵权请联系我们删除,本站将不对此承担任何责任。
软件开发 程序错误 异常 ybaby.netCopyright © 2020-2026  ybaby 版权所有  桂ICP备17004385号-2 网站地图