Seite 3 von 3
Verfasst: 04.12.2008 18:21
von PMV
Hm, ich habs jetzt nicht getestet aber wenn das verhalten so ist, wie du
sagst ... und das ist wohl recht logisch ... dann liegt das darann, weil
das Programm erst beendet wird und dann du die Strings ausließt. Versuch
erst mal das ReadProgramString() in eine Schleife zu bauen und wenn das
nicht hilft, darf die schleife erst verlassen werden, wenn das Programm
beendet wurde.
MFG PMV
Verfasst: 04.12.2008 18:34
von scholly
Ok, Schleife eingebaut (siehe umseitigen Code), aber nu kommt nur das erste Zeichen jeder Zeile an

Verfasst: 04.12.2008 18:50
von PMV
Nutzt du wirklich pb 4.20 wie in deiner Signatur angegeben? Bei mir
funktionierts nämlich wie erwartet -.-
MFG PMV
Verfasst: 04.12.2008 18:58
von edel
Versuch es mal so :
Code: Alles auswählen
If OpenWindow(0, 100, 200, 195, 260, "Plugin-test", #PB_Window_SystemMenu)
hProcess = RunProgram("plugin.exe","Das Schweigen der Lämmer",GetCurrentDirectory(),#PB_Program_Open|#PB_Program_Read|#PB_Program_Hide)
Repeat
Event = WaitWindowEvent(1)
If hProcess
While AvailableProgramOutput(hProcess)
Debug ReadProgramString(hProcess)
Wend
EndIf
If Event = #PB_Event_CloseWindow ; If the user has pressed on the close button
Quit = 1
EndIf
Until Quit = 1
CloseProgram(hProcess)
EndIf
End
Verfasst: 04.12.2008 19:05
von PMV
Und was ist, wenn das "PlugIn" ins stocken gerät und mit dem schreiben
der Daten nicht nach kommt? ... dann würde AvailableProgramOutput() null
zurück geben und komplete Zeilen fehlen.
Was ich nicht verstehe ist, das ReadProgramString() nur das erste Zeichen
ausließt ... wo der Befehl doch eigentlich nur ganze Zeilen zurück gibt.
Wenn scholly die PB4.20 verwendet sollte er eventuell mal die aktuelle
PB4.30 Beta 5 versuchen.
MFG PMV
Verfasst: 04.12.2008 19:37
von scholly
Uuups...
@PMV:
Sig korrigiert

Ich habs aber eben nochmal mit der 4.2 getestet - selbes Ergebnis
@edel:
Da kommt noch weniger, aber ich bastel ma an meiner Schleife rum..
Wenn ich den Fenster-Kram rauswerf, wirds auch nich besser

Verfasst: 04.12.2008 20:37
von edel
und warum kommt da nichts? Wurde das Programm ueberhaupt
gestartet? Welchen Wert hat hProcess?
Davon mal ab, halte ich diesen Weg nicht fuer sehr brauchbar, man muss
ja immer nachgucken ob auch etwas geschrieben wurde. Mit einer
Scriptsprache (z.b. Lua) oder einer DLL waere das etwas komfortabler.
Verfasst: 04.12.2008 20:43
von scholly
Problem gelöst, beim aufrufenden Code war das Unicode-Kästchen nicht gecheckt, keine AHnung wieso
@edel:
Das ist doch nur ein Test für mich, um zu testen, ob/wie es funktioniert.
Mit welcher Sprache jemand anderes ein Plugin schreibt, kann ich doch nicht wissen.
Ich kann nur die Schnittstelle zur Verfügung stellen.
Das sollte aber aus meinen bisherigen Ausführungen erkennbar sein
