![]() |
.net, com, ActiveX mit BDS 2006
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? |
Re: .net, com, ActiveX mit BDS 2006
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. |
Re: .net, com, ActiveX mit BDS 2006
Zitat:
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? |
Re: .net, com, ActiveX mit BDS 2006
Ja, es geht.
![]() 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. |
Re: .net, com, ActiveX mit BDS 2006
Zitat:
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 ![]() |
Re: .net, com, ActiveX mit BDS 2006
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? |
Re: .net, com, ActiveX mit BDS 2006
Zitat:
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 ![]() 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...) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:56 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