Laden...

Mischen von C# und C++?

Erstellt von syn87 vor 15 Jahren Letzter Beitrag vor 15 Jahren 4.526 Views
S
syn87 Themenstarter:in
87 Beiträge seit 2008
vor 15 Jahren
Mischen von C# und C++?

Hallo,

als Einstieg in einen Nebenjob hab ich u.a. die Aufgabe bekommen, eine GUI in C# zu schreiben bei der ich die Events allerdings in C++ programmiere.

Bei der Befragung von Google ist mir nix brauchbares untergekommen. Vllt kann mir einer von euch ein besseres Stichwort nennen oder direkt helfen.

Genauer Wortlaut:

"Das C# Panel soll reine GUI ohne Logik sein. Im C++ Fenster sollen einige Buttons im C# Panel mit EventHandler versehen werden, die Aktionen ...."

Lg

5.742 Beiträge seit 2007
vor 15 Jahren

Hallo syn87,

verwende hierfür am besten zusätzlich die C++ Edition von VS bzw. lege ein Projekt mit der Sprache C# und eins mit C++ an.

Die Frage ist nur, was das für einen Sinn machen soll.

S
syn87 Themenstarter:in
87 Beiträge seit 2008
vor 15 Jahren

Naja es soll gewissermaßen Zeigen mit welchen Hürden ich fertig werde (denke ich). Nebenbei ist die aktuelle Entwicklung ebenfalls auf diesem Level.

Zurueck zum Problem: Dafür 2 verschiedene Projekte machen kommt mir schon sehr sinnvoll vor, da ich nämlich keine Fremden Codedateien in das jeweils andere Projekt packen kann (C# -> C++ und umgedreht). Wie allerdings füge ich Eventhandler und aehnliches zur GUI hinzu? Und ueberhaupt: Wie bette ich das C# Panel in ein C++ Fenster ein?

3.971 Beiträge seit 2006
vor 15 Jahren

Schreib mit C++ (ATL) eine COM-Komponente, die kannst du in C# einbinden, oder verwende (zusätzlich) eine managed C++ Bibliothek und mixe diese mit verwalteten und unverwaltete Code

Es gibt 3 Arten von Menschen, die die bis 3 zählen können und die, die es nicht können...

S
syn87 Themenstarter:in
87 Beiträge seit 2008
vor 15 Jahren

Geht das auch mit C#? Denn es soll C#(!) in C++ eingebunden werden und nicht umgekehrt.

K
593 Beiträge seit 2007
vor 15 Jahren

Hallo,

es sollte keine Probleme machen eine C# Libary in eine Managed C++ Anwendung zu verwenden... Wie es mit unmanaged C++ aussieht weiß ich aber nicht.

Gruß Daniel

3.971 Beiträge seit 2006
vor 15 Jahren

Wenn es um Controls geht, die von C# nach C++ geschoben werden sollen, sollte über die API gehen, ist denkich aber sehr umständlich und aufwändig.

Du kannst aber auch mit COM das C-Form Handle nach C# reichen, dort fügst du die C# Controls dem Handle hinzu. (Control.FromHandle). Mittels COM-Events werden die Controls aktualisiert und die Daten zwischen C# und C++ durchgereicht

Es gibt 3 Arten von Menschen, die die bis 3 zählen können und die, die es nicht können...

Gelöschter Account
vor 15 Jahren

was dir helfen könnte:
Howtos / Tutorials zu Interop Managed / Unmanaged Code?

besonders mein letzter post.