Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - [C#/C++]Comunicazione variabili
Forum - C# / VB.NET - [C#/C++]Comunicazione variabili

Avatar
MefistoManna (Normal User)
Rookie


Messaggi: 28
Iscritto: 12/02/2012

Segnala al moderatore
Postato alle 21:20
Martedì, 10/04/2012
Scusate raga... Innanzitutto ho 2 programmi uno scritto in c++(win32) e l' altro in c#(per creare interfaccia grafica).Devo fare in modo che questi due programmi mettano in condivisione delle variabili soprattutto bool. Ad esempio nel programma in c# una variabile bool determina lo stato di pressione o no di un pulsante per poi mandarla al programma in c++ che esegue determinate azioni a seconda del valore. Come si può fare?

PM Quote
Avatar
Poggi Marco (Member)
Guru


Messaggi: 951
Iscritto: 05/01/2010

Segnala al moderatore
Postato alle 21:49
Martedì, 10/04/2012
Ciao!

La soluzione più semplice, è quella di fare tutto in c#.
Comunque, puoi passare i parametri quando lanci il programma in c++, o scriverli in un file.


Nulla va più veloce della luce, quindi rilassati.
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5475
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 22:07
Martedì, 10/04/2012
Infatti ... non ha senso fare parte in C++ e parte in C#

Fallo tutto in C#


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
PM Quote
Avatar
MefistoManna (Normal User)
Rookie


Messaggi: 28
Iscritto: 12/02/2012

Segnala al moderatore
Postato alle 19:47
Mercoledì, 11/04/2012
Perchè in c++ ho un engine in directx ed è il miglior linguaggio per ciò che tra l' altro conosco di più. Volevo evitare di programmare l' interfaccia grafica in win32.

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5475
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 9:58
Giovedì, 12/04/2012
Anche con C# puoi usare directx


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
PM Quote
Avatar
MefistoManna (Normal User)
Rookie


Messaggi: 28
Iscritto: 12/02/2012

Segnala al moderatore
Postato alle 17:38
Giovedì, 12/04/2012
No vabè, per il c++ ci sono più guide ed è più adatto... credo che la creerò in c++ l' interfaccia non viceversa.Comunque grazie.

Ultima modifica effettuata da MefistoManna il 12/04/2012 alle 17:38
PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 8:31
Martedì, 17/04/2012
Puoi usare il vecchio modo di comunicare tra processi, ossia usando dei file condivisi. Ovviamente è obsoleto.

Alternativamente puoi dichiarare delle funzioni pubbliche nella librerie in C++ e usare Platform Invoke da C# per invocarle. Tuttavia non puoi fare il contrario.

Alternativamente puoi avviare il programma in C++ da C# usando la classe Process e redirezionare gli stream di input e output su stream gestiti (in questo modo potresti comunicare in modo asincrono ma ti serve usare delle operazioni di output come cout e cin).


"Infelici sono quelli che hanno tanto cervello da vedere la loro stupidità."
(Fligende Blatter)

"Dubitare di se stessi è il primo segno d'intelligenza."
(Ugo Ojetti)
PM Quote