Konsolen Anwendung aus MFC Anwendung starten.
-
Der Titel sagt schon alles.
Ich möchte mir eine Art von Debug Möglichkeit zur Laufzeit einbauen. Also durch Admin-Passwort starten und dann die Möglichkeit haben einzelne Werte abzufragen, anzuzeigen, vergleichen usw. Allerdings halt eben in der Anwendung selbst und nicht per Debugger. Da dies auch auf Rechner laufen soll, auf welchen kein Visual Studio installiert ist. Sondern, welche nur die Exe haben oder so in der Art. Wie mach ich des? Wie kann ich eine Konsolenanwendung starten. Es gäbe wohl die Möglichkeit, diese ausserhalb als zweites Projekt zu bauen, doch ich würde dann gar nicht wissen, wie ich die Infos von der einen Anwendung ohne grossen Umweg in die andere Anwendung hineinbekomme.Kann mir jemand dazu helfen? Hab schon ein wenig gesucht, doch noch nichts gefunden. Ist glaub ich auch nicht unbedingt so ein Thema das häufig behandelt wird ^^
Danke für die Hilfe im voraus.
Grüssli
-
du nimmst z.b das hier: http://www.sysinternals.com/Utilities/DebugView.html
und dann machste ausgaben mit 'OutputDebugString()'
-
Aber ich will lernen und nicht fertiges runterladen *g*
Trotzdem danke, merk ich mir mal, wenn ich irgendwann mal nicht mehr lernen will
Grüssli
-
hmm, also der erste weg is der den du schon vorgeschlagen hast du erstellst dir eine Konsolenanwendung und startest die falls ein Fehler Auftritt, und die Wertübergabe sollte doch über Variablen die du beim starten der exe Übergibst zu lösen sein. Startparameter nennt man das glaube ich oda??
Der weg den ich nehmen würde, wäre es einfach eine Klasse von CWnd abzuleiten und dann das Fenster zu erstellen und anzuzeigen wenn nen Fehler auftaucht bzw du nen debug brauchst. Die variablen kannst du schön als Init übergeben mit den werten sollte doch wohl kein prob sien oda? Ich würde das vorziehen da du ja sonst uch noch die exe der Konsolenanwendung mit geben must. Und das wäre doch doof oda?
-
Ich würde eben gerne auch eingaben in die Konsolenanwendung machen. Und durch Eingabe Werte aus dem Programm abrufen und mir anzeigen lassen. Z.b. durch die Eingabe von "/Show Wert1" wird ausgegeben: "Wert1 = 20.00" oder sowas in der Art. Daher müsste es auch möglich sein, eine direkte Kommunikation zwischen Programm und Konsolenanwendung zu haben. Wenn ich die Werte nur beim Start übergebe geht das wohl leider nicht. Und ein eigenes CWnd machen ist da auch nicht so einfach, vor allem weil man eben auch eigene Eingaben machen soll können. Natürlich ich könnte mir was konstruieren mit einem CWnd einem CEdit und so weiter, aber mir wäre es halt lieber wenn ich direkt die Win32 Konsolenanwendung verwenden könnte. Sowas muss doch zu bewerkstelligen sein. Es ist doch alles möglich in C++, dachte ich zumindest ^^
Grüssli
-
Also, ich muss dir wiedersprechen ich finde es is doch wohl sehr sehr simpel. Ich meine du kannst ja uch nen Dialog nehmen den du Modal bzw nicht modal aufrufst. Dann noch nen Editfeld rein zum eingeben und nen 2 zum anzeigen der ergebnisse bzw da würde sich ja uch nen ListBox gut machen zum anzeigen der ergebnisse. Also wenn du das schwierig findest weiß ich ja net.
-
Aber es sieht nicht gut aus (subjektive Frage halt). Und zudem will ich jetzt unbedingt diese Konsolenanwendung. Schon nur weil ich wissen möchte ob sowas möglich ist. Klar könnte ich nen Dialog nehmen oder sowas in der Art und dann VK_RETURN abfangen und so weiter ... Aber ich möchte eine Konsolenanwendung haben

Grüssli
-
Habs gefunden. Für die, welche es wissen wollen:
Sucht in der MSDN nach Console Functions. Oder nach AllocConsole. Es ist scheiss einfach!Grüssli
-
Dravere schrieb:
Habs gefunden. Für die, welche es wissen wollen:
Sucht in der MSDN nach Console Functions. Oder nach AllocConsole. Es ist scheiss einfach!jo, aber aus 'ner windows-anwendung kannste nicht so einfach mit printf, puts o.ä da was ausgeben. dazu muss man noch 'n paar handles umlenken mit setvbuf. guckt ihr: http://dslweb.nwnexus.com/~ast/dload/guicon.htm
-
Danke habe ich auch schon gefunden. Gibt dazu sogar einen Artikel von der MSDN, bzw. Microsoft:
http://support.microsoft.com/kb/105305/en-usGrüssli