Autor |
Beitrag |
Harald-K.
Hält's aus hier
Beiträge: 3
|
Verfasst: Sa 21.07.07 11:07
Hallo erstmal,
Ich programmiere noch nicht all zu lang in C# und bin auch völliger Autodidakt. Bisher habe ich C++ und Java (vornähmlich in Linux) programmiert und "wurde" für das aktuelle Projekt einfach mal auf C# (und Windows) gestürzt. Ich kenne mich also in der .Net Welt nicht wirklich aus und Delphi habe ich mir bisher nicht mal von Weitem angesehen.
Mein Problem ist, dass ich ein Kameratrackingsystem entwickelt habe und dessen Logik samt einiger Einstellungsdialoge soll nun in ein Delphi .Net Projekt eingebunden werden. Ein Kollege meinte ich solle es als ActiveX Komponente machen, ein anderer als Com Objekt (Unterschied?). Ich habe mich auch schon über Assemblies belesen, bin aber nun total verwirrt da ich einfach nicht weiß was ich machen kann und wie. Mir würde schon ein Link zu einem Tutorial helfen. Aber ich finde immer nur Erklärungen wie man Delphisachen in C# nutzt.
Zu dem wurde mir noch gesagt, dass es Probleme geben könnte da ich VS2005 (Professional) nutze während das andere Programm mit Borland geschrieben wurde.
Leider habe ich auch keine rechte Zeit mich Stück für Stück in die Windowsprogrammierung und .Net einzulesen, da die Leute am liebsten schon Gestern Ergebnisse gesehen hätten.
Danke schon mal für die Hilfe.
|
|
Leuchtturm
Beiträge: 1087
Win Vista, Knoppix, Ubuntu
Delphi 7 Pe, Turbo Delphi, C#(VS 2005 Express), (X)HTML + CSS, bald Assembler
|
Verfasst: Sa 21.07.07 11:19
Über .Net DLL's??
Zitat: | Zu dem wurde mir noch gesagt, dass es Probleme geben könnte da ich VS2005 (Professional) nutze während das andere Programm mit Borland geschrieben wurde. |
VS2005 = .net2.0
Delphi.Net = .net1.1
Leuchtturm
_________________ Ich bin dafür verantwortlich was ich sage - nicht dafür was du verstehst.
|
|
mkinzler
Beiträge: 4106
Erhaltene Danke: 13
Delphi 2010 Pro; Delphi.Prism 2011 pro
|
Verfasst: Sa 21.07.07 11:20
Delphi-Net Assemblies können genauso wie C#, VB.Net usw verwendet werden.
_________________ Markus Kinzler.
|
|
Christian S.
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: Sa 21.07.07 11:22
Nur um sicher zu sein: Du hast ein C#-Projekt geschrieben (als EXE oder DLL?), welches Du nun in ein Delphi .NET Projekt einbinden möchtest. Richtig?
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
Harald-K.
Hält's aus hier
Beiträge: 3
|
Verfasst: Sa 21.07.07 18:04
Danke für die sehr schnellen Antworten.
Ich habe ein Programm in C# geschrieben und möchte nur die Klassen welche für das Tracking notwendig sind in Delphi nutzen.
|
|
Christian S.
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: So 22.07.07 10:06
Mit welcher .NET Version hast Du unter C# gearbeitet? IIRC kann Delphi bis zur demnächst erscheinenden Version nämlich nur .NET 1.1.
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
Harald-K.
Hält's aus hier
Beiträge: 3
|
Verfasst: Mo 23.07.07 15:11
Ich habe bisher in .Net 2.0 gearbeitet.
|
|
alias5000
Beiträge: 2145
WinXP Prof SP2, Ubuntu 9.04
C/C++(Code::Blocks, VS.NET),A51(Keil),Object Pascal(D2005PE, Turbo Delphi Explorer) C# (VS 2008 Express)
|
Verfasst: Mi 01.08.07 21:59
Ich habe mal bei delphi-notes.blogspot.com gelesen, dass es möglich ist, den Delphi.NET Compiler gegen .NET 2.0 zu linken. Allerdings nicht die IDE. Vielleich hilft das ein wenig weiter
Gruß
alias5000
_________________ Programmers never die, they just GOSUB without RETURN
|
|
QuarksUndCo
Hält's aus hier
Beiträge: 1
Windows Vista 64bit
VS2005, VS2008 Beta, C#, .NET 2.0/3.0/3.5
|
Verfasst: Do 30.08.07 17:57
Titel: Legacy Code in .NET einbinden
hi,
es gibt mehrere Möglichkeiten Legacy Code (C++/Java) in .NET Code einzubinden.
1.) Falls Du den C++ Source Code hast, kannst Du diesen einfach in VS2005 (.NET 2.0) mit der Compileroption /CLR übersetzen und so von .NET aus nutzen.
2.) Wenn kein Source Code vorhanden ist, und Du nur eine C++ / Java DLL hast, dann musst Du einen COM Wrapper für die Komponenten bauen.
COM Komponenten können dann einfachst via CCW (COM Callable Wrapper) für die .NET Welt verfügbar gemacht werden. Hierzu einfach für die COM Komponente ein "interop-Assembly" generieren lassen. Dies führt dazu, dass der Wrapper den unmanaged Code in deiner COM Komponente in den managed Bereich überführt (also ein marshaling der Datenen/Objekte durchführt).
Schau einfach mal unter dem folgenden link nach "http://msdn2.microsoft.com/de-de/library/x8fbsf00(VS.80).aspx".
Der Unterschied zwischen ActiveX und COM ist einfach der, dass eine ActiveX Komponente eine COM Komponente ist, die allerdings bestimmte COM Schnittstellen für ActiveX (Verhalten) implementieren muss. Du solltest also für das Wrappen deines legacy Codes zunächst nur einfache COM Klassen verwenden und nicht den ActiveX Overhead mitschleppen. Definiere eigene Schnittstellen die dann deine COM Komponente implementiert.
Selbstverständlich können .NET 1.1 Komponenten (VS2003 und Delphi) und .NET 2.0 Komponenten (VS2005) gemeinsam unter einer .NET 2.0 Runtime verwendet werden.
Zur Vorgehensweise kann ich dir folgende empfehlen:
1.) legacy Code (c++/java) wie unter Punkt 2 beschrieben für .NET verfügbar machen.
2.) .NET 1.1 Komponenten (DLLs) entweder unter Delphi oder VS2003 entwickeln.
3.) .NET 2.0 /3.0 Komponenten und Anwendungen unter VS2005/VS2008 (Orcas) entwickeln.
4.) alle Komponenten Dlls unter VS2005/VS2008 zu einer gemeinsamen Anwendung integrieren.
Grüsse
Wolfgang
|
|