Das OFFIZIELLE PROFAN SUPPORT FORUM
Einsteigerfragen
PROFAN-Programmierung
Helfer & Tools
Anregungen & Vorschläge
PROFAN-NEWS
Die Regeln!
2 - PROFAN-Programmierung

 Neues Thema  |  Zur Übersicht  |  Suchen  |  Einloggen   Vorherige Nachricht  |  Nächste Nachricht 
 Messageloop direkt aufrufen?
Autor: Jens-Arne Reumschüssel (---.dip0.t-ipconnect.de)
Datum:   09.01.19 20:50

Hallo zusammen,

im Zusammenhang mit dem Fastmode hätte ich eine allgemeine Frage bzw. Bitte: Ist es möglich, den Profan-Messageloop anders als mit Waitinput aufzurufen?

Waitinput ist nämlich elendiglich langsam, wenn es nur darum geht, Messages zuzulassen und nicht, auf irgendeine Eingabe zu warten. Selbst mit

Waitinput 1

dauert das ganze bei jedem Durchlauf bis zu 15ms, da der Windows-Timer eine zeitliche Auflösung von etwa 15ms besitzt (siehe diverse Beiträge im Internet dazu). Das bedeutet, dass schon bei nur 1000 Schleifendurchläufen die Nutzung von Waintput 1 einen Zeitverlust von bis zu 15 Sekunden (!) mit sich bringt. In einem Profan-Progamm ohne Fastmode läut der Messageloop natürlich extrem viel schneller, er wird ja alle 20 Programmzeilen einmal aufgerufen, ohne dass man das groß merkt. Das kostet offenbar keine 15 Sekunden bei einer Schleife von 20000 Befehlen, wie man mit

whileloop 1,20000
endwhile

leicht herausfinden kann. Es liegt also tatsächlich daran, dass Waitinput 1 ewig herumwartet, obwohl man das sicher nicht gebrauchen kann, da man mit dieser (undokumentierten) Variante von Waitinput ja gerade ausdrückt, dass man nicht warten möchte. Waitinput 1 ist also ein extrem schmutziger, eigentlich gar nicht so bezeichenbarer "Workaround" dafür, dass man manchmal Messages bearbeitet haben muss.

Konkret, damit man die Praxisrelevanz sieht, geht es bei mir um eine Schleife, die meistens viele 1000 Male durchlaufen wird, und die ich gerne durch einen Klick auf einen Button unterbrechbar machen möchte. Aus hier nicht weiter interessierenden Gründen muss das im Fastmode laufen. Dann aber reagiert Profan auf Buttonklicks nicht, wenn der Messageloop nicht aufgerufen wird.

Es wäre also extrem wünschenswert, den Messageloop von Profan anders als mit Waitinput aufrufen zu können. Ist das zur Zeit schon möglich, oder wird es zumindest in künftigen Profan-Versionen möglich sein?

Geht da vielleicht irgendetwas mit @call(...)?

Oder gibt es noch eine andere Möglichkeit, die ich nur gerade nicht sehe?

Beste Grüße, Jens-Arne

 Beitrag beantworten  |  Foren-Liste  |  Alle Antworten   Neuerer Beitrag  |  Älteres Thema 

 Beiträge Autor  Datum
 Messageloop direkt aufrufen?  Neu
Jens-Arne Reumschüssel 09.01.19 20:50 
 Re: Messageloop direkt aufrufen?  Neu
Heinz Brill 10.01.19 04:02 
 Re: Messageloop direkt aufrufen?  Neu
Jens-Arne Reumschüssel 10.01.19 19:00 
 Re: Messageloop direkt aufrufen?  Neu
p. specht 10.01.19 19:36 
 Re: Messageloop direkt aufrufen?  Neu
Jens-Arne Reumschüssel 10.01.19 21:16 
 Re: Messageloop direkt aufrufen?  Neu
Heinz Brill 10.01.19 19:30 
 Re: Messageloop direkt aufrufen?  Neu
Jens-Arne Reumschüssel 10.01.19 21:14 
 Re: Messageloop direkt aufrufen?  Neu
Heinz Brill 10.01.19 20:03 
 Re: Messageloop direkt aufrufen?  Neu
Jens-Arne Reumschüssel 10.01.19 21:32 


 Foren-Liste  |  Zur Registrierung 
 Benutzerlogin
 Benutzername:
 Passwort:
 Login-Daten speichern:
   
 Passwort vergessen?
E-Mail-Adresse oder Username unten eingeben. Dann wird Dir per e-Mail ein neues Passwort zugeschickt.

phorum.org