2013-02-06 5 views
0

Lors de l'utilisation de la visionneuse Crystal Reports ActiveX (avec Delphi XE3 dans ce cas), comment spécifiez-vous le fichier de rapport à afficher ??? Il n'y a aucune propriété dans le contrôle CR dans laquelle entrer le nom ou l'emplacement du rapport.Crystal Reports ActiveX Viewer

Répondre

0

La visionneuse Crystal Reports XI ActiveX n'est pas fonctionnelle. Je suppose que vous essayez de l'utiliser pour que Crystal Reports fonctionne avec Delphi. Ce n'est pas le cas. Cela ne fonctionne même pas ailleurs. La dernière installation de Crystal Reports XI n'est même pas livrée avec la version ActiveX, seulement la version .net. Il existe toujours des programmes d'installation qui circulent (ou sur votre réseau local) qui incluent ce contrôle ActiveX, mais les discussions du forum CR XI (Crystal Reports maintenant gérées par SAP) indiquent que le contrôle ActiveX a été abandonné il y a près d'une décennie. fonctionnel pour les 5 dernières années, et complètement supprimé des derniers installateurs, il y a plus de 2 ans.

0

ActiveXViewer ne fonctionne pas avec Delphi XE3. Voici un exemple:

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.