Autor Beitrag
Harald-K.
Hält's aus hier
Beiträge: 3



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1087

Win Vista, Knoppix, Ubuntu
Delphi 7 Pe, Turbo Delphi, C#(VS 2005 Express), (X)HTML + CSS, bald Assembler
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 4106
Erhaltene Danke: 13


Delphi 2010 Pro; Delphi.Prism 2011 pro
BeitragVerfasst: Sa 21.07.07 11:20 
Delphi-Net Assemblies können genauso wie C#, VB.Net usw verwendet werden.

_________________
Markus Kinzler.
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: 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. Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: 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.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: 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. Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Mo 23.07.07 15:11 
Ich habe bisher in .Net 2.0 gearbeitet.
alias5000
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
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)
BeitragVerfasst: 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
BeitragVerfasst: 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