AGB  ·  Datenschutz  ·  Impressum  







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

.net, com, ActiveX mit BDS 2006

Ein Thema von Bubblegum · begonnen am 10. Okt 2007 · letzter Beitrag vom 12. Okt 2007
Antwort Antwort
Bubblegum

Registriert seit: 8. Sep 2007
57 Beiträge
 
Delphi 2007 Professional
 
#1

.net, com, ActiveX mit BDS 2006

  Alt 10. Okt 2007, 15:00
Ich muss eine .net Anwendung in Delphi 2006 (WinForms) entwickeln. Diese Anwendung soll dann aber als com oder ActiveX in eine andere Anwendung eingebunden werden. Diese kann sowohl -net als auch win32 sein.
Geht das überhaupt?
Wenn ja wie? Wie mache ich aus meiner .net Winforms Anwendung ein ActiveX oder Com Objekt?
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.613 Beiträge
 
#2

Re: .net, com, ActiveX mit BDS 2006

  Alt 10. Okt 2007, 15:03
Aua. Pfoten Weg!
Delphi.NET und Windows Forms ist ein absolutes No-Go, zumal CodeGear mit dem RAD Studio 2007 sämtliche Windows-Forms Unterstützung komplett entfernt hat.

Schreibe das ganze in C# im Visual Studio oder schreibe lieber gleich ein ActiveX-Object in nativem Delphi.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Bubblegum

Registriert seit: 8. Sep 2007
57 Beiträge
 
Delphi 2007 Professional
 
#3

Re: .net, com, ActiveX mit BDS 2006

  Alt 10. Okt 2007, 15:16
Zitat von Phoenix:
Aua. Pfoten Weg!
Delphi.NET und Windows Forms ist ein absolutes No-Go, zumal CodeGear mit dem RAD Studio 2007 sämtliche Windows-Forms Unterstützung komplett entfernt hat.

Schreibe das ganze in C# im Visual Studio oder schreibe lieber gleich ein ActiveX-Object in nativem Delphi.
Das sehe ich genauso, aber ich bin nur die Exekutive. Das ist beschlossene Sache.

Mir geht es darum, wie ich aus einer bestehenden Winforms Dehlpi .net Anwendung(nur eine Forms) ein .net ActiveX Objekt machen kann. Und ob das überhaupt geht, und wenn ja wie?
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.613 Beiträge
 
#4

Re: .net, com, ActiveX mit BDS 2006

  Alt 10. Okt 2007, 15:20
Ja, es geht. Siehe diesen CodeProject Artikel.
Der Artikel ist zwar für VB.NET, aber analog geht das mit jeder .NET Sprache.

Ggf. macht es auch Sinn, das Delphi.NET Assembly in VB.NET zu konsumieren und hier mit der angesprochen ComClass die Veröffentlichung zu wrappen. Könnte etliches an Aufwand sparen.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#5

Re: .net, com, ActiveX mit BDS 2006

  Alt 10. Okt 2007, 15:53
Zitat von Phoenix:
Ja, es geht. Siehe diesen CodeProject Artikel.
Der Artikel ist zwar für VB.NET, aber analog geht das mit jeder .NET Sprache.
Msn sollte 2 Dinge beachten:
  • .Net kann kein ActiveX, es kann aber COM
  • Der OP braucht wohl nur eine COM Lib
Es sollte für dich reichen ein Package in D.Net zu bauen und die benötigten Klassen als ComVisible(true) zu markieren.
Für dieses Package kannst du mit regasm eine TypeLib erzeugen (.tlb) und diese kannst du dann in Delphi importieren.
Du kannst jetzt noch weiter gehen und in Delphi ein Pseudocontrol bauen, was die Klassen verpackt und sich selbst als Parent setzt. Dieses Control kannst du dann benutzen um das .Net-Form fortan wie ein Delphi-Control benutzen zu können.
Viel einfacher wäre es sich mal Hydra anzuschauen. Damit kannst du in D.Net ein VisualPlugIn anlegen, was dein Form verpackt, und auf der Delphiseite kannst du das dann direkt als Control benutzen.
Robert Giesecke
I’m a great believer in “Occam’s Razor,” the principle which says:
“If you say something complicated, I’ll slit your throat.”
  Mit Zitat antworten Zitat
Bubblegum

Registriert seit: 8. Sep 2007
57 Beiträge
 
Delphi 2007 Professional
 
#6

Re: .net, com, ActiveX mit BDS 2006

  Alt 11. Okt 2007, 10:55
Soweit habe ich das so verstanden:

Zuerst erstelle ich mit D.net ein Assembly (Package).
Dieses kann ich ja dann auch in Visual Studio für .net verwenden. Soweit klar!

Leider muss dieses Assembly aber auch in einem alten Visual Studio (nicht .net) eingesetzt werden. Also erstelle ich "regasm" ein Typelib. Wie geht's dann weiter, und habe ich dann aber auch alle Eigenschaften und Ereignisse zur Verfügung, oder nur einen com - Objekt Rumpf, wenn ich das Ganze in einem alten Visual Studio (nicht .net) einsetze?
  Mit Zitat antworten Zitat
Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#7

Re: .net, com, ActiveX mit BDS 2006

  Alt 12. Okt 2007, 16:32
Zitat von Bubblegum:
Leider muss dieses Assembly aber auch in einem alten Visual Studio (nicht .net) eingesetzt werden. Also erstelle ich "regasm" ein Typelib...
Vergiss es, wird niemals gehen!
Eines der Dinge, die MSFT bei .Net komplett und grauenhaft verschlampt hat, ist die Tatsache, dass du nur eine Runtime pro Prozess haben kannst.
Die einzige Chance für eine 1.1 Applikation, eine 2.0 Assembly zu laden wäre, sie Assembly dynamisch zu laden und in der app.config "v2.0.50727" als requiredRuntime einzutragen.
Dadurch wird der Prozess als 2.0-Prozess gestartet.

Edit: Ups, ich dachte du meinst D2007 -> VS2003.
Bei VS2002/.Net 1.0 kannst du es eigentlich vergessen. Die 1.0 wird sich mit an Sicherheit grenzender Wahrscheinlichkeit daran verschlucken. (1.0 war absolut grauenvoll...)
Robert Giesecke
I’m a great believer in “Occam’s Razor,” the principle which says:
“If you say something complicated, I’ll slit your throat.”
  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 06:09 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