User since
2004-08-18
463
Artikel
BenutzerIn
Ich habe ein kleines POS-Programm geschrieben das einen Kassendrucker ansteuert. Das ganze wird über einen Touchscreen gesteuert.
Beim drücken auf den Button eines Artikels wird der Preis ausgegeben bzw. eine Summe und ein Bon gedruckt.
Ich habe zum summieren und für das drucken zwei Methoden erstellt welche nacheinander aufgerufen werden.
Zuerst wird die Methode ausgabesumme aufgerufen und dann die Methode print.
Leider fängt aber erst der drucker an zu drucken und dann wird erst die Summe aktualisiert.
Gibt es eine Möglichkeit Subs wie z.b. Programme mit system so aufzurufen das sie im Hintergrund ausgeführt werden (quasi einer Warteschlange) und das Programm in dieser Zeit weiterläuft?
Oder kann ich dies nur erreichen wenn ich die Methoden in seperate Programme packe und mit system aufrufe?
User since
2003-08-21
2614
Artikel
ModeratorIn
Je nach Betriebssystem kann man so etwas mit fork machen. Ich wuerde vorschlagen, zwei Prozesse zu machen, die dauerhaft laufen. Der eine teilt dem anderen dann mit, dass er etwas drucken soll. Wie das geht, steht in
perlipc
User since
2004-03-22
5697
Artikel
ModeratorIn + EditorIn
ja das geht mit fork(starten neues prozesse) oder POE(kooperatives multitasking). diese methoden sind zu empfehlen wenn die programme miteinander reden sollen. wenn du deine routine als externe programm seperat startest ist der bob einmal auf der fahrtbahn aber du kommst halt da nicht mehr ran es sei du spielst mit ports aber wozu der aufwand für sowas wurde fork oder POE erfunden.