Свой компонент работы с БД в FastReport

отредактировано 11:32 Раздел: FastReport 3.0
Нужно интегрировать свой компонент на основе TOracleDataset в сам FastReport ver. 3.23.9.
Но никак не получается. Получилось снаружи FastReoport'a, a изнутри никак. Валится с непонятными ошибками всё время.
Дайте пример,плз, или расскажите в чём дело. Уже замахался с ним!!!!

Комментарии

  • отредактировано 11:32
    Покажите код вашего компонента.
  • отредактировано 11:32
    uses
    Windows, Classes, frxDsgnIntf, frxClass, frxCustomDB, DB, Oracle, OracleData,
    Graphics
    {$IFDEF QBUILDER}
    , fqbClass
    {$ENDIF}
    ;

    type
    // êîìîíåíò ñâÿçêè ñ áàçîé äàííûõ Oracle
    TfrxELOracleComponents = class(TfrxDBComponents)//TfrxDialogComponent)
    private
    // áàçà äàííûõ ïî óìîë÷âíèþ
    FDefaultDatabase: TOracleSession;
    // ññûëêà íà ñòàðûé êîìîïîíåò íóæíî äëÿ ñîçäàíèÿ
    FOldComponents: TfrxELOracleComponents;
    public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
    // âîçâðàùàåò îïèñàíèå êëàññà â èíñïåêòîðå FastReport
    function GetDescription: string; override;
    published
    // äåðíåì ñåññèþ
    property DefaultDatabase: TOracleSession read FDefaultDatabase write
    FDefaultDatabase;
    end;

    // êîìîïíåò äëÿ ïîëó÷åíèÿ ññûëêì â îò÷åò íà áàçó äàííûõ
    TfrxELOracleDatabase = class(TfrxDialogComponent)//TfrxCustomDatabase)
    private
    FDatabase: TOracleSession;
    protected

    procedure SetConnected(Value: Boolean);
    procedure SetDatabaseName(const Value: string);
    procedure SetLoginPrompt(Value: Boolean);
    procedure SetParams(Value: TStrings);
    function GetConnected: Boolean;// override;
    function GetDatabaseName: string;
    function GetLoginPrompt: Boolean;
    function GetParams: TStrings;

    public
    constructor Create(AOwner: TComponent); override;

    destructor Destroy; override;
    class function GetDescription: string; override;
    procedure SetLogin(const Login, Password: string); //override;
    property Database: TOracleSession read FDatabase;

    constructor DesignCreate(AOwner: TComponent; Flags: Word); override;
    published
    property DatabaseName:string read GetDatabaseName write SetDatabaseName;
    property LoginPrompt:boolean read GetLoginPrompt write SetLoginPrompt;
    property Params: TStrings read GetParams write SetParams;
    property Connected:boolean read GetConnected write SetConnected;
    end;

    // ñàì êîìîïîíåíò äàòàñåòà äëÿ îò÷åòíûõ ôîðì!
    TfrxELOracleQuery = class(TfrxCustomQuery)
    private
    FDatabase : TfrxELOracleDatabase;
    FQuery : TOracleDataSet;
    procedure SetDatabase(const Value: TfrxELOracleDatabase);
    protected
    procedure Notification(AComponent: TComponent; Operation: TOperation);
    override;
    procedure SetMaster(const Value: TDataSource); override;
    procedure SetSQL(Value: TStrings); override;
    function GetSQL: TStrings; override;
    public
    constructor Create(AOwner: TComponent); override;
    constructor DesignCreate(AOwner: TComponent; Flags: Word); override;
    class function GetDescription: string; override;
    procedure BeforeStartReport; override;
    procedure UpdateParams; override;
    property Query: TOracleDataSet read FQuery;
    published
    property Database: TfrxELOracleDatabase read FDatabase write SetDatabase;
    end;
  • отредактировано 11:32
    ...Кстати, мы используем триальную версию скаченную с вашего сайта. Может дело в этом?
    Если нам удастся внедрить наш компонент внутрь FR - то встроим FR в нашу ERP.
  • отредактировано 11:32
    написал:
    ...Кстати, мы используем триальную версию скаченную с вашего сайта. Может дело в этом?
    Нет.
    Код не полный, можете прислать этот модуль целиком на den@fast-report.com
    Какие ошибки выскакивают и когда(создание, открытие и т.д.) ?

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.