AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Problem mit Property bei Komponentenentwicklung
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit Property bei Komponentenentwicklung

Ein Thema von c4rtm4n · begonnen am 7. Mai 2010
Antwort Antwort
c4rtm4n

Registriert seit: 28. Jan 2009
Ort: Oldenburg (Oldenburg)
26 Beiträge
 
Delphi 2009 Enterprise
 
#1

Problem mit Property bei Komponentenentwicklung

  Alt 7. Mai 2010, 22:27
Hallo liebe DPler,

ich bin gerade dabei in Delphi 2009 eine Komponente zu entwickeln.
Da Borland (oder mittlerweile Embacadero?) ja laut Lizenz untersagt die DesignIntf mit auszuliefern habe ich die Komponente, wie es sich ja auch gehört, in ein RunTime - und ein DesignTime Package getrennt.

Jetzt habe ich aber ein großes Problem:

Ich habe in meiner Komponente (definiert im RunTime Package) eine Property die eine eigene Klasse referenziert, die im DesignTime Package definiert ist.

Diese Klasse habe ich in dem DesignTime Package definiert, weil die Klasse eine Property vom Typ TFilename hat, für die ich einen PropertyEditor zur Verfügung stelle.

Wie schaffe ich das jetzt, dass ich diese Klasse als Teil des RunTime Packages verwenden kann?

Zur Verdeutlichung hier nochmal die Klassendefinitionen:

Erstmal die eigentliche Komponente. Die Property um die es geht ist PDFSettings.

Delphi-Quellcode:
TceReportGenerator = class(TComponent)
  private
    { Private-Deklarationen }
    FPageSettings: TPageSettings;
    FOutputDevice: TOutputDevice;
    FNoData: TNoDataBehavior;
    FPreview: Boolean;
    FPreviewSettings: TPreviewSettings;
    FPDFSettings: TPDFSettings;
    FView: TcxGridDBBandedTableView;
    FCaption,
    FUserName: String;

    FReport: TppReport;
    FPipeline: TppDBPipeline;

    FHeaderBand,
    FDetailBand,
    FFooterBand: TppBand;

    procedure SetView(Value: TcxGridDBBandedTableView);
    procedure SetPageSettings(Value: TPageSettings);
  protected
    { Protected-Deklarationen }
  public
    { Public-Deklarationen }
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;

    procedure Print;
  published
    { Published-Deklarationen }
    property PageSettings: TPageSettings read FPageSettings write SetPageSettings;
    property OutputDevice: TOutputDevice read FOutputDevice write FOutputDevice default Screen;
    property BehaviorOnNoData: TNoDataBehavior read FNoData write FNoData;
    property PreviewDialog: Boolean read FPreview write FPreview default True;
    property PreviewSettings: TPreviewSettings read FPreviewSettings write FPreviewSettings;
    property PDFSettings: TPDFSettings read FPDFSettings write FPDFSettings; //<--- Hier ist die Eigenschaft ;-)
    property TableView: TcxGridDBBandedTableView read FView write SetView;
    property ReportCaption: String read FCaption write FCaption;
    property ReportUserName: String read FUserName write FUserName;
  end;
Und hier die Definition von TPDFSettings:

Delphi-Quellcode:
  TPDFSettings = class
  private
    FAuthor,
    FKeyWords,
    FSubject,
    FTitle: String;
    FFileName: TFileName;
    FCacheI,
    FScaleI,
    FOpen: Boolean;
    FCompression: TCompressionLevel;
    FFontList: TStringList;
    FEmbedOptions: TEmbedOptions;
  public
    constructor Create;
    destructor Destroy; override;
  published
    property Author: String read FAuthor write FAuthor;
    property KeyWords: String read FKeyWords write FKeyWords;
    property Subject: String read FSubject write FSubject;
    property Title: String read FTitle write FTitle;
    property FileName: TFileName read FFileName write FFileName;
    property CacheImages: Boolean read FCacheI write FCacheI default True;
    property ScaleImages: Boolean read FScaleI write FScaleI default True;
    property OpenPDF: Boolean read FOpen write FOpen default False;
    property CompressionLevel: TCompressionLevel read FCompression write FCompression default clDefault;
    property EmbededFontList: TStringList read FFontList write FFontList;
    property EmbedFontOptions: TEmbedOptions read FEmbedOptions write FEmbedOptions;
  end;
Ich hoffe ihr könnt mir helfen...

Vielen Dank schon mal im Vorraus.
Carsten

//EDIT:

Ok, vergesst das alles.
Ich war einfach nur zu doof die Packages richtig zu Compilieren.

Tut mir Leid...

--> CLOSED
Carsten
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:12 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz