怎么查看网站主机商网站免费的
以下能WINDOWS10 +DELPHI 11.3 FastReport6.0上顺利通过
FastReport6.2对Multi-Device Application应用的支持不够友好,如下图;在palette FastReport6.0才出现几个制件。
非Multi-Device Application应用时是一大堆;

非Multi-Device Application应用时是一大堆;如下图

所以在 Multi-Device Application应用时,需要一些技巧;
1、依照 https://blog.csdn.net/qq_25439957/article/details/87110559 制作好 salse.fr3文件;
2、制作如下图

直接代码如下:
object Form2: TForm2
   Left = 0
   Top = 0
   Caption = 'Form2'
   ClientHeight = 371
   ClientWidth = 509
   FormFactor.Width = 320
   FormFactor.Height = 480
   FormFactor.Devices = [Desktop]
   DesignerMasterStyle = 0
   object Button1: TButton
     Position.X = 288.000000000000000000
     Position.Y = 136.000000000000000000
     TabOrder = 2
     Text = #39044#35272
     OnClick = Button1Click
   end
   object SqlserversalesdbConnection: TFDConnection
     Params.Strings = (
       'ConnectionDef=sql server salesdb')
     Connected = True
     LoginPrompt = False
     Left = 135
     Top = 67
   end
   object SalesTable: TFDQuery
     Active = True
     Connection = SqlserversalesdbConnection
     SQL.Strings = (
       'SELECT top 100* FROM SalesDB.dbo.Sales')
     Left = 135
     Top = 131
   end
   object FDGUIxWaitCursor1: TFDGUIxWaitCursor
     Provider = 'FMX'
     Left = 144
     Top = 208
   end
 end
unit Unit2;
interface
uses
   System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
   FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,frxClass,
   frxDBSet, FireDAC.Stan.Intf, FireDAC.Stan.Option, FireDAC.Stan.Error,
   FireDAC.UI.Intf, FireDAC.Phys.Intf, FireDAC.Stan.Def, FireDAC.Stan.Pool,
   FireDAC.Stan.Async, FireDAC.Phys, FireDAC.Phys.MSSQL, FireDAC.Phys.MSSQLDef,
   FireDAC.FMXUI.Wait, FireDAC.Stan.Param, FireDAC.DatS, FireDAC.DApt.Intf,
   FireDAC.DApt, FMX.Controls.Presentation, FMX.StdCtrls, Data.DB,
   FireDAC.Comp.DataSet, FireDAC.Comp.Client, FireDAC.Comp.UI;
type
   TForm2 = class(TForm)
     SqlserversalesdbConnection: TFDConnection;
     SalesTable: TFDQuery;
     Button1: TButton;
     FDGUIxWaitCursor1: TFDGUIxWaitCursor;
     procedure Button1Click(Sender: TObject);
   private
     { Private declarations }
   public
     { Public declarations }
   end;
var
   Form2: TForm2;
implementation
{$R *.fmx}
procedure TForm2.Button1Click(Sender: TObject);
 var
 frxReport1: TfrxReport;
 frxDBDataset1: TfrxDBDataset;
 begin
     frxDBDataset1:=TfrxDBDataset.Create(self) ;
     frxDBDataset1.UserName:='frxDBDataset1';
     frxDBDataset1.DataSet:=SalesTable;
    frxReport1:=TfrxReport.Create(self);
     frxReport1.DataSet:=frxDBDataset1;
     frxReport1.LoadFromFile('C:\oz\test.fr3') ;
     frxReport1.showReport;
 end;
end.
