Einzelnen Beitrag anzeigen

DerMondistunsereSonne

Registriert seit: 9. Apr 2024
40 Beiträge
 
Delphi 12 Athens
 
#1

Kann keinen Constructor aufrufen

  Alt 23. Apr 2024, 15:48
Moin,

Ich habe aus einer C# DLL eine TLB erstellt und diese als registriert (com-visible, für com-interop), dann die TLB in Delphi hinzugefügt und nun versuche ich dort den Constructor aufzurufen:

Delphi-Quellcode:
var
   prozent: TDecimal;
   ust19: TaxRate;
begin
   CoInitialize(self);
   ust19 := ust19.Create(self);
Die TLB:
Delphi-Quellcode:
// *********************************************************************//
// Die Klasse CoTaxRate stellt die Methoden Create und CreateRemote zur
// Verfügung, um Instanzen des Standard-Interface _TaxRate, dargestellt
// von CoClass TaxRate, zu erzeugen. Diese Funktionen können
// von einem Client verwendet werden, der die CoClasses automatisieren
// will, die von dieser Typbibliothek dargestellt werden.
// *********************************************************************//
  CoTaxRate = class
    class function Create: _TaxRate;
    class function CreateRemote(const MachineName: string): _TaxRate;
  end;

// *********************************************************************//
// OLE-Server-Proxy-Klassendeklaration
// Server-Objekt : TTaxRate
// Hilfe-String :
// Standard-Interface: _TaxRate
// Def. Intf. DISP? : No
// Ereignis-Interface:
// TypeFlags : (0)
// *********************************************************************//
  TTaxRate = class(TOleServer)
  private
    FIntf: _TaxRate;
    function GetDefaultInterface: _TaxRate;
  protected
    procedure InitServerData; override;
    function Get_ToString: WideString;
    function Get_type_: WideString;
    procedure Set_type_(const pRetVal: WideString);
    function Get_Category: WideString;
    procedure Set_Category(const pRetVal: WideString);
    function Get_Percentage: TDecimal;
    procedure Set_Percentage(pRetVal: TDecimal);
  public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
    procedure Connect; override;
    procedure ConnectTo(svrIntf: _TaxRate);
    procedure Disconnect; override;
    function Equals(obj: OleVariant): WordBool;
    function GetHashCode: Integer;
    function GetType: _Type;
    property DefaultInterface: _TaxRate read GetDefaultInterface;
    property ToString: WideString read Get_ToString;
    property type_: WideString read Get_type_ write Set_type_;
    property Category: WideString read Get_Category write Set_Category;
    property Percentage: TDecimal read Get_Percentage write Set_Percentage;
  published
  end;
Allerdings ist das Create() ein undeklarierter Bezeichner...jemand einen Hinweis für mich?

Danke!
  Mit Zitat antworten Zitat