AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

c# DLL .NET in DELPHI32 nutzen

Ein Thema von hgiel · begonnen am 22. Sep 2008 · letzter Beitrag vom 12. Jul 2010
Antwort Antwort
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#1

AW: c# DLL .NET in DELPHI32 nutzen

  Alt 9. Jul 2010, 10:14
Jep:
Delphi-Quellcode:
// *********************************************************************//
// OLE-Server-Proxy-Klassendeklaration
// Server-Objekt : TCoffeeBarController
// Hilfe-String :
// Standardschnittstelle: _CoffeeBarController
// Def. Intf. DISP? : No
// Ereignisschnittstelle: ICoffeeBarControllerEvents
// TypeFlags : (2) CanCreate
// *********************************************************************//
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  TCoffeeBarControllerProperties= class;
{$ENDIF}
  TCoffeeBarController = class(TOleServer)
  private
    FOnBrewed: TCoffeeBarControllerBrewed;
    FIntf: _CoffeeBarController;
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    FProps: TCoffeeBarControllerProperties;
    function GetServerProperties: TCoffeeBarControllerProperties;
{$ENDIF}
    function GetDefaultInterface: _CoffeeBarController;
  protected
    procedure InitServerData; override;
    procedure InvokeEvent(DispID: TDispID; var Params: TVariantArray); override;
  public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
    procedure Connect; override;
    procedure ConnectTo(svrIntf: _CoffeeBarController);
    procedure Disconnect; override;
    property DefaultInterface: _CoffeeBarController read GetDefaultInterface;
  published
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    property Server: TCoffeeBarControllerProperties read GetServerProperties;
{$ENDIF}
    property OnBrewed: TCoffeeBarControllerBrewed read FOnBrewed write FOnBrewed;
  end;
  Mit Zitat antworten Zitat
Benutzerbild von ChrisE
ChrisE

Registriert seit: 15. Feb 2006
Ort: Hechingen
504 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

AW: c# DLL .NET in DELPHI32 nutzen

  Alt 9. Jul 2010, 10:27
Gut

Damit hast du ja dann alles was du brauchst

Greez, Chris
Christian E.
Es gibt 10 Arten von Menschen, die die Binär lesen können und die die es nicht können

Delphi programming rules
  Mit Zitat antworten Zitat
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#3

AW: c# DLL .NET in DELPHI32 nutzen

  Alt 9. Jul 2010, 10:31
Damit hast du ja dann alles was du brauchst
Vor allem Verständnisschwierigkeiten.
  Mit Zitat antworten Zitat
Benutzerbild von ChrisE
ChrisE

Registriert seit: 15. Feb 2006
Ort: Hechingen
504 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

AW: c# DLL .NET in DELPHI32 nutzen

  Alt 9. Jul 2010, 10:38
Hallo,

einfach erstmal kurz vergessen, dass du ein Com-Klasse verwendest

Eine Objekt-Instanz erstellen von TCoffeeBarController und an beliebiger Stelle erstellen bzw. Freigeben - wie halt immer bei Klassen

Dann kannst du dein Event vom Typ TCoffeeBarControllerBrewed in Form1 erstellen mit mit Leben befüllen.

Beim erstellen der Objectinstanz von CoffeBarController dein eigenes Event der Objektinstanz zuweisen perMyCoffeeBarController.OnBrewed := MyBrewedEvent . Wenn du auf das Interface zugreifen willst einfach per MyCoffeeBarController.DefaultInterface.AddBean('a'); Ich hoffe, das Hilft.

Greez, Chris
Christian E.
Es gibt 10 Arten von Menschen, die die Binär lesen können und die die es nicht können

Delphi programming rules
  Mit Zitat antworten Zitat
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#5

AW: c# DLL .NET in DELPHI32 nutzen

  Alt 9. Jul 2010, 11:34
Beim erstellen der Objectinstanz von CoffeBarController dein eigenes Event der Objektinstanz zuweisen perMyCoffeeBarController.OnBrewed := MyBrewedEvent
Das funktioniert.
Wenn du auf das Interface zugreifen willst einfach per MyCoffeeBarController.DefaultInterface.AddBean('a');
Das DefaultInterface hat leider keine Methode AddBean. Außerdem wird das Formular nicht sichtbar.
  Mit Zitat antworten Zitat
Benutzerbild von ChrisE
ChrisE

Registriert seit: 15. Feb 2006
Ort: Hechingen
504 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#6

AW: c# DLL .NET in DELPHI32 nutzen

  Alt 9. Jul 2010, 11:44
Hmmm,

jetzt sehe ich es auch erst. Irgendwie ist der OleServer nur für die Events zuständig nicht aber für den Rest Bei meinen bisherigen COM-Objekten war das aber eigentlich immer so Vor allem waren dort auch die entsprechenden Methoden direkt Implementiert. So musste man quasi gar nicht mehr auf das Interface zugreifen.

Sorry, das habe ich nicht gesehen. Dann weiß ich erstmal auch nicht weiter. Bräuchte die komplette TLB.

Greez, Chris
Christian E.
Es gibt 10 Arten von Menschen, die die Binär lesen können und die die es nicht können

Delphi programming rules
  Mit Zitat antworten Zitat
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#7

AW: c# DLL .NET in DELPHI32 nutzen

  Alt 9. Jul 2010, 12:40
Habe die TLB.Pas mal angefügt

Nachtrag: IN VB6 geht's so...
Code:
Public WithEvents objCoffeeBarServant As CoffeeBar.CoffeeBarController
Public iCoffeeBarServant As CoffeeBar.ICoffeeBarController
...
Public Sub Form_Load()
   
    Set objCoffeeBarServant = New CoffeeBarController
    Set iCoffeeBarServant = objCoffeeBarServant
    ...
    iCoffeeBarServant.AddBean ("Nicaragua")
    ...
    iCoffeeBarServant.OpenCoffeeBar
   
End Sub
...
Private Sub objCoffeeBarServant_Brewed(ByVal ticket As String)
       
    Dim orderedCupOfCoffee As ICup
    Set orderedCupOfCoffee = iCoffeeBarServant.GetOrderedCup(ticket)
   
    Text1.Text = orderedCupOfCoffee.Taste
    Text2.Text = iCoffeeBarServant.ServedCoffees
   
End Sub
Angehängte Dateien
Dateityp: pas CoffeeBar_TLB.pas (25,2 KB, 10x aufgerufen)

Geändert von r_kerber ( 9. Jul 2010 um 13:01 Uhr)
  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 18:04 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz