Hallo Herr Hambrecht, dank ihrer Hilfe klappt es nun mit dem “PDF-Export”!
Das folgende zeigt den Testcode für den C+±Builder unter Verwendung der VCL.
Vielleicht hilft das Codefragment auch anderen Nichtexperten. Nach einem Klick auf den “PrintButton” wird gedruckt
und dann noch ein PDF-Export durchgeführt.
Ll28Test ist eine Instanz der TListLabel28-Komponete.
Man beachte:
LlXSetParameter(…) ist kein Element von Ll28Test sondern von Ll28Test->Core.
Die Klasse ExportConfiguration existiert in der VCL nicht, jedenfalls habe ich sie nicht gefunden.
TForm1 *Form1;
//
//---------------------------------------------------------------------------------------------------
//
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
FilePraefixName="Export"; //"variabler" Präfix der Exportdatei
FilePfad="C:\\Users\\Helmut\\Documents\\ListUndLabelTestReports\\"; //"variabler" Dateipfad
}
//
//---------------------------------------------------------------------------------------------------
//
void __fastcall TForm1::DesignButtonClick(TObject *Sender)
{
Ll28Test->Design();
}
//
//---------------------------------------------------------------------------------------------------
//
void __fastcall TForm1::PrintButtonClick(TObject *Sender)
{
for(int ii=0;ii<2;ii++)
{
if(ii==0)
{
Ll28Test->Print();
}
if(ii==1)
{
Ll28Test->OnDefinePrintOptions=DefinePrintOptionsFuerPdfExport; //Zuweisung der Eventroutine
Ll28Test->Print();
}
}
}
//
//---------------------------------------------------------------------------------------------------
//
void __fastcall TForm1::DefinePrintOptionsFuerPdfExport(TObject *Sender)
{
UnicodeString FileName=FilePraefixName+".pdf";
Ll28Test->Core->LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, "PDF", "Export.File", FileName);
Ll28Test->Core->LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, "PDF", "Export.Path", FilePfad);
Ll28Test->Core->LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, "PDF", "Export.Quiet", L"1");
Ll28Test->Core->LlPrintSetOptionString(LL_PRNOPTSTR_EXPORT, "PDF");
}