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: 967
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: 5702
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 ...
---
Il grande studioso italiano Bruno de Finetti (uno dei padri fondatori del moderno Calcolo delle probabilità) chiamava il gioco del Lotto Tassa sulla stupidità.
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: 5702
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 ...
---
Il grande studioso italiano Bruno de Finetti (uno dei padri fondatori del moderno Calcolo delle probabilità) chiamava il gioco del Lotto Tassa sulla stupidità.
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