Konsolenausgabe bei dlls - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +---- Forum: DLL & externer Code (/Forum-DLL-externer-Code) +---- Thema: Konsolenausgabe bei dlls (/Thread-Konsolenausgabe-bei-dlls) |
Konsolenausgabe bei dlls - martinv - 19.06.2009 14:56 Guten Tag. Ich habe mit der "call library function node" eine .dll mit LabVIEW verbunden. Diese habe ich in C++ geschrieben und per DevC++ kompiliert. Ich habe ein Problem damit, von dieser .dll auf der Konsole Daten auszugeben. Wenn ich in der von LV aufgerufenen Funktion cout << oder printf() benutze, kompiliert die .dll normal. Wird das Programm gestartet, passiert einfach nichts. (d.h. die Zeile wird quasi uebersprungen) Weiss jemand, was ich da falsch mache, bzw. wie es moeglich ist, Augsaben von der .dll auf der Konsole anzeigen zu lassen? Vielen Dank. Martin Konsolenausgabe bei dlls - rolfk - 20.06.2009 06:25 LabVIEW ist ein Windows GUI Applikation und hat als solche keine Konsole als Standard IO. Um sowas doch zu machen gibts meines Wissens zwei Möglichkeiten. Entweder Du verwendest spezifieke Windows APIs um eine Konsole in Deiner DLL zu erzeugen und verbindest deren IO streams mit den Standard IOs für die Dauer Deines Aufrufes. Oder Du verwendest ein spezielles Programm um das LabVIEW.exe File (für die Entwickelumgebung) oder Dein gebautes Executable (für eine LabVIEW Runtimeapplikation) zu editieren. Diese haben nähmlich im PE2 Header verschiedene Flags und eines davon gibt Windows an um keine Konsole für das Programm zu erstellen wenn es dieses Programm aufstartet. Wundere Dich aber nicht wenn Du in diesem Fall komische Debugnachrichten von LabVIEW selber zwischendurch in Deiner Konsole siehst, und die kannst Du nicht ausschalten. Rolf Kalbermatter |