DDE Aufruf und matplotlib zusammen führen zu Absturz

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
lexa
User
Beiträge: 2
Registriert: Donnerstag 25. August 2011, 08:11

Hallo liebe Python-Auskenner,

ich bin sehr sehr neu in Python und bin auf ein Problem gestoßen das ich nicht hin kriege. Vielleicht kann mir ja hier jemand helfen, da ich leider kein Lösung gefunden habe.
Was ich machen will ist ein Programm (Dymola) mit Hilfe von einem DDE channel aufzurufen, dort sollen dann Befehle in der Kommandozeile ausgeführt werden (das funktioniert auch). Nun sollen, nachdem in Dymola Befehle ausgeführt wurden, Daten geplottet werden. Ich nutze dafür matplotlib (Fenster geht auch auf). Allerdings, wenn ich das Plotfenster schließe komme ich nicht ins CommanWindow von Windows zurück (ich muss es schließen). Wenn ich das Python File direkt ausführe kommt nach dem Schließen des Fensters auch ein 'Python reagiert nicht mehr'.
Das komische ist, benutze ich nur die DDE Sachen geht es und nutze ich nur plt.show ohne das DDE Zeug geht auch alles. Verwende ich es jedoch zusammen stürzt am Ende was ab :-(. Als Notlösung lasse ich mir den Plot nicht mehr anzeigen sondern speichere das Bild nur--- aber das ist eigentlich nicht Sinn der Sache...
Eine mini mini Version des Codes mal hier, daran sieht man das Problem schon:

Code: Alles auswählen

import win32ui
import dde
import subprocess
import time
import os
import matplotlib.pyplot as plt

server = dde.CreateServer()
server.Create("TestClient") # wenn das raus ist geht es
conversation = dde.CreateConversation(server)
p = subprocess.Popen([r"C:\Program Files (x86)\Dymola 2012\bin\dymola.exe"],  stdin = subprocess.PIPE)
server.Shutdown() # hilft leider auch nicht
server.Destroy()	# hilft leider auch nicht
time.sleep(6)
plt.plot([1,2,3])
plt.show()
Weiß jemand was ich falsch mache? Stelle mich bestimmt nur doof an, aber ich kriege es leider einfach nicht hin.

Über jegliche Hinweise bin ich sehr sehr dankbar.

Vielen Dank und VG

Lexa
Zuletzt geändert von Anonymous am Donnerstag 25. August 2011, 21:06, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Code-Tags gesetzt.
Antworten