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 ChrisE
ChrisE

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

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
 
#2

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
 
#3

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
 
#4

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
Benutzerbild von ChrisE
ChrisE

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

AW: c# DLL .NET in DELPHI32 nutzen

  Alt 12. Jul 2010, 06:59
Hallo,

ok, der Aufbau scheint hier einfach etwas anders zu sein, als ich es bisher kenne. Das VB6-Beispiel zeigt ja wie es geht.

Du nutzt die Klasse um Dein Event zu erhalten und holst dir das Interface ICoffeeBarController über die Klasse. Aber das hast du ja wahrscheinlich selber schon gesehen aus dem VB6 Beispiel

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
 
#6

AW: c# DLL .NET in DELPHI32 nutzen

  Alt 12. Jul 2010, 07:15
Muss man für jetzt für jedes Event solch einen Aufwand betreiben? Ich habe das bisher eigentlichen auf die Unzulänglichkeiten in VB6 geschoben. Hatte eigentlich gehofft, dass man hier ähnliche arbeiten kann wie bei einem ActiveX-Control.
  Mit Zitat antworten Zitat
Benutzerbild von ChrisE
ChrisE

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

AW: c# DLL .NET in DELPHI32 nutzen

  Alt 12. Jul 2010, 07:28
Soweit ich das jetzt überblicke, hast du ja nur ein Event

Aber es sieht schon so aus, als ob das alles so aufgeteilt ist und du dir über den Controller die entsprechenden Interfaces holen musst.

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
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 09:46 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