Hallo,
ich habe mal wieder ein kleines Problem.
Ich möchte, das mein AutoIt Skript den Stdout meines C++ Skripts lesen kann.
Der Grund dafür ist, das ich komplexe Berechnungen (z.B. x^x^x oder x!) in C++ Skripten kann und mir damit eine
Zeitersparnis erhoffe.
Leider hab ich absolut keinen Plan, wie ich rangehen soll. Habs schon mit $STDOUT_CHILD bei der Funktion Run() versucht, aber da weiß ich leider auch nicht mehr weiter.
Ich betone nochmal, dass ich damit nichts illegales machen möchte, nur eine "simple" kommunikation zwischen AutoIt und C++.
MfG. PrideRage
Stdout einer Datei lesen
-
- [ gelöst ]
-
PrideRage -
5. März 2011 um 22:30 -
Geschlossen -
Erledigt
-
-
wäre eine dll da nicht viel angebrachter?
-
- Offizieller Beitrag
Erstelle doch mit deinem C++ Programm eine Systemvariable (Env) in der du deine Ergebnisse parkst. Mit EnvGet() kannst du dir die Werte dann im AutoIt Skript einlesen.
Falls es mit C++ nicht möglich sein sollte eine eigene Systemvariable zu setzen (kann ich mir eigentlich nicht vorstellen), kannst du ja auch TEMP dafür nutzen.
Nur andersrum geht es leider nicht. Die Ersteller von AutoIt haben uns die Tür zum Schreiben in Systemvariablen (warum auch immer) verschlossen. Zumindest bieten die Standardfunktionen dazu keine Möglichkeit. -
Ok dann werd ichs ma mit den Environment Variablen versuchen.
BugFix : Doch, mit AutoIt kann man Environment Variablen schreiben, EnvSet() -
- Offizieller Beitrag
BugFix : Doch, mit AutoIt kann man Environment Variablen schreiben, EnvSet()
Du kannst nur eigene, von deinem AutoIt-Skript erstellte Umgebungsvariablen verwenden. Auf die Systemvariablen (TEMP, PATH etc.) hast du nur Lesezugriff. -
BugFix : Das ist nicht ganz korrekt. Du kannst alle Variablen verändern, aber die Änderungen gelten nur für die Kindprozesse, also alles, was du per Run startest.
PrideRage: Um Berechnungen durchzuführen, würde ich nicht ein extra Programm erstellen und starten, sondern eher eine DLL. Dann hast du auch eine klar definierte Schnittstelle und musst dich nicht mit Stdout bzw. EnvGet rumärgern.
-
@progandy: Ok danke. Wurde wohl auf nen falschen Pfad durch die Hilfe gelenkt :wacko: