Crystal Reports ActiveXビューア(この場合はDelphi XE3を使用)を使用する場合、表示するレポートファイルをどのように指定しますか?CRコントロールには、レポートの名前または場所を入力するためのプロパティはありません。
質問する
1852 次
2 に答える
0
Crystal Reports XI ActiveX ビューアが機能しません。Crystal ReportsをDelphiで動作させるためにそれを使用しようとしていると思います。そうではありません。他の場所でも機能しません。Crystal Reports XI の最新のインストールには、ActiveX バージョンは同梱されておらず、.net バージョンのみが同梱されています。
この ActiveX コントロールを含むインストーラーがまだ (またはローカル ネットワーク上に) 出回っていますが、CR XI フォーラムのディスカッション (Crystal Reports は現在 SAP によって管理されています) は、ActiveX コントロールがほぼ 10 年前に廃止され、最後の期間は機能しないことを指摘しています。 5 年、2 年以上前に最新のインストーラーから完全に削除されました。
于 2013-02-12T18:49:15.617 に答える
0
ActiveXViewerはDelphi XE3 で動作します。サンプルは次のとおりです。
unit crystalreports;
interface
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes,
Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.OleCtrls,
ActiveX, ComObj, Data.DB, Data.Win.ADODB, CrystalActiveXReportViewerLib11_TLB;
type
TReportForm = class(TForm)
CrystalReportsViewer: TCrystalActiveXReportViewer;
PreviewButton: TButton;
procedure PreviewButtonClick(Sender: TObject);
private { Private declarations }
public { Public declarations }
end;
var ReportForm : TReportForm;
implementation
{$R *.dfm}
procedure TReportForm.PreviewButtonClick(Sender: TObject);
var CReport, CRApp : variant;
i :integer;
begin
CRApp := CreateOleObject('CrystalRuntime.Application');
CReport := CRApp.OpenReport('C:\Crystal Reports Test\companydatasheet.rpt',0 );
for i := 1 to CReport.Database.Tables.Count do
begin
CReport.Database.Tables[1].ConnectionProperties.Item['User ID'] := 'sa';
CReport.Database.Tables[1].ConnectionProperties.Item['Password'] := 'secret';
end;
CReport.RecordSelectionFormula := '{member.member_no} = "101"';
CrystalReportsViewer.Align := alClient;
CrystalReportsViewer.ReportSource := CReport;
ReportForm.WindowState := wsMaximized;
PreviewButton.Visible := False;
CrystalReportsViewer.ViewReport;
CrystalReportsViewer.Show; PreviewButton.Visible := True;
end;
end.
于 2013-03-04T21:23:21.927 に答える