Hi,
ich möchte gerne ein Frame erstellen, das zusätzliche Eigenschaften/Ereignisse hat. Habe dazu folgende Struktur angelegt:
Delphi-Quellcode:
type
TDocumentType = (dtInvoiceDetail, dtInvoice);
TDeviceTypes = (dtPrinter, dtPDF, dtExcel);
TPrintClickEvent = procedure (Sender: TObject; var PrintHandled : Boolean) of object;
TBeforePrintEvent = procedure (Sender: TObject; DataID : Integer) of object;
TPrintReport = Record
DeviceType : TDeviceTypes;
FileName : String;
DocumentType : TDocumentType;
StandardFileName : String;
ExportFileNameList : TStringList;
DocumentIDs : TList;
End;
TPrintingFrame = class(TFrame)
btnAbbrechen: TJvImgBtn;
btnDrucken: TJvImgBtn;
JvBevel1: TJvBevel;
navPanel: TJvNavigationPane;
NavPageDrucker: TJvNavPanelPage;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
cbPrinters: TJvComboBox;
cbBinNames: TComboBox;
cbPreview: TCheckBox;
seCopyCount: TJvSpinEdit;
NavPagePDF: TJvNavPanelPage;
Label4: TLabel;
FilenameEditPDF: TJvFilenameEdit;
NavPageExcel: TJvNavPanelPage;
Label5: TLabel;
FilenameEditExcel: TJvFilenameEdit;
procedure btnDruckenClick(Sender: TObject);
procedure cbPrintersChange(Sender: TObject);
procedure btnAbbrechenClick(Sender: TObject);
private
FPrintReport : TPrintReport;
FReport : TppReport;
FOnCancelClick : TNotifyEvent;
FOnPrintClick : TPrintClickEvent;
FOnAfterPrint : TNotifyEvent;
FOnBeforePrint : TBeforePrintEvent;
procedure GetStandardFileName(DocIDIndex : Integer = 0; SetIt : Boolean = false);
public
Procedure PrepareFrame(DocumentType : TDocumentType; Parameter1, Parameter2 : Integer);
published
Constructor Create(AOwner : TComponent); override;
Destructor Destroy; override;
Property Report : TppReport read FReport write FReport;
Property PrintReport : TPrintReport read FPrintReport write FPrintReport;
Property OnCancelClick : TNotifyEvent read FOnCancelClick write FOnCancelClick;
Property OnPrintClick : TPrintClickEvent read FOnPrintClick write FOnPrintClick;
Property OnAfterPrint : TNotifyEvent read FOnAfterPrint write FOnAfterPrint;
Property OnBeforePrint : TBeforePrintEvent read FOnBeforePrint write FOnBeforePrint;
end;
angelegt. So, lagere ich das Frame nun in ein
Package aus und registriere ich es in der Tool-Palette, kann ich es verwenden, wie ich es gerne hätte. Das habe ich allerdings nicht vor - ich möchte nicht für jeden Mist ein neues Symbol in der Tool-Palette haben. Außerdem soll das Frame auch auf meine Datenbank zugreifen können und damit hätte ich sonst Probleme.
Nun gut - also habe ich es nicht ausgelagert, sondern binde es direkt in eine Form ein. Dort wird es auch schön angezeigt, allerdings kann ich auf die neuen Eigenschaften/Ereignisse nicht zugreifen. Wie kann ich das jedoch hinbekommen?
Gruß,
Dominik