Italia
Foro

Einparken während ungenutzter Schleife

 
- Page 1 -



Erasmus.Herold
Hallöchen ...

Folgendes Phänomen fällt mir seit Tagen bei einem XProfan X3 Programm auf. Es gibt eine simple WHILE Schleife, dazu zu Beginn in der Schleife ein WAITINPUT. Anschließend wird in der Schleife erfasst, ob jemand Maus oder Tastatur nutzt und entsprechend in grande Proceduren verzweigt.
Legt man beim Arbeiten eine Pause ein, hängt das Programm am WAITINPUT und wartet. Wird das Programm nun eine halbe Stunde nicht genutzt, wir es extrem langsam, wie in Zeitlupe. Andere Windowsprogramme sind nicht betroffen und auch dieses Xprofan Program corre nach einem Neustart wieder ordentlich.
Während des Wartens füllt sich kein Zähler oder Variable, deshalb die Frage, kennt jemand Probleme im Zusammenhang mit einem Warten circa WAITINPUT in einer WHILE Schleife?

Saluto und Dank
Erasmus
 
13.03.2016  
 



« Dieser Beitrag wurde als Lösung gekennzeichnet. »

- Page 1 -



Erasmus.Herold
Hallöchen ...

Habe noch einmal verschiedene Ansätze geprüft. Finde derzeit aber keinen Ansatz.
Mit der Rückmeldung, "es liegt nicht an WHILE und WAITINPUT" bin ich dann erst einmal zufrieden.

Danke - Thema kann geschlossen werden.
Erasmus
 
01.04.2016  
 



 
- Page 1 -



Matthias
Arlt
So pauschal wird sich das kaum beantworten lassen...
Ich würde zunächst mal die Speicherauslastung im Auge behalten, um eventuelle Lecks im Programm festzustellen bzw. auszuschliessen.

Saluto Matthias
 
WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia
13.03.2016  
 




Jörg
Sellmeyer
Könntest du das mal in einem Codebeispiel dokumentieren?

Wenn es stimmt, dass das Programm während des Wartens im WaitInput Resourcen verbrät, müsste ja schon dieser Codeschnipsel die gleichen Ergebnisse zeigen:
 
XProfan X3
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
13.03.2016  
 




Matthias
Arlt
@Jörg
Ja genau...bestechend simpel...

@Erasmus
...mal etwas weiter ins Detail...
Auf welche Weise ermittelst Du denn Maus- oder Tastatur-Nutzung ?
(Der globale Tastaturpuffer schert sich bspw. nicht um das 'waitinput' Deines Programms...)
 
WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia
14.03.2016  
 




Erasmus.Herold
Mein Quellcode sieht so aus ... (leicht reduziert)
Wir eine Stunde nicht am Programm gearbeitet, wird alles langsam und lässt sich nur durch das Beenden des Programms und dessen Neustart beheben. Andere parallel laufende Windows-Programme sich von diesem "Einparken" nicht betroffen.

Quellcode:

MenueSchleife% = 0
WhileNot MenueSchleife%
WaitInput
If Clicked(programmende%)
goto "Ende"
EndIf
EndWhile

Saluto und Dank
Erasmus Herold
 
16.03.2016  
 




RudiB.
Auszug aus der Profan-Aiuto:

Sprünge aus Schleifen und Prozeduren heraus und ebensolche in Schleifen und Prozeduren hinein führen zwangsläufig zu Programmfehlern und Überlauf des GoSub-, While- bzw. Prozedure-Stacks. Das Programm würde im besten Fall mit einem Hinweis auf zu tiefe Verschachtelung abbrechen! Das GoTo sollte völlig vermieden werden, da es der strukturierten und verständlichen Programmazione entgegensteht. Außerdem wird das GoTo ebenso wie das GoSub deutlich langsamer abgearbeitet als die übrigen Programm-Strukturen.
potuto ja daran liegen ??
Ich probier Deinen Code mal...mal schaun was passiert...
 
Xprofan X4
Rudolf Beske / München

Hardware: NB Intel I9 - 16GByte RAM
16.03.2016  
 




Jörg
Sellmeyer
Das ist ja im Prinzip "mein" Codebeispiel. Treten da denn bei dir tatsächlich die Fehler auf?
Mach das doch mal lauffähig und teste das bitte. Ich kann mir kaum vorstellen, dass da was Ungewöhnliches passiert.
 
XProfan X3
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
16.03.2016  
 




RGH
Der gepostete Quellcode ist so nicht lauffähig. Bringe bitte mal ein lauffähiges (!) Beispiel, bei dem der vermutete Fehler auftritt. Dann kann ich es bei mir nachvollziehen und auch mögliche Speicherfresser enttarnen und korrigieren!

Bei mir ist so ein Problem nocjh nie aufgetreten. (Wobei ich zugeben muss, dass ich außer Browser, eMail- oder Backup-Programm selten Programme stundenlang laufen lasse.)

Saluto
Roland
 
XProfan X3
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
16.03.2016  
 




Erasmus.Herold
Danke per eure Rückmeldungen.

1. Das goto "xy" benutze ich nur an dieser Stelle beim echten Programmende. Wird also nur ein einziges Mal corsa, wenn der User das Programm schließt. Ansonsten folgen immer saubere Proc-Aufrufe.

2. Quellcode vollständig und lauffähig posten. Mein Programm umfasst beinahe 2000 Zeilen Quellcode. Da dieses Programm auf RFID-Hardware (Reader) zugreift, bin ich nicht sicher, ob sich das in anderer Umgebung nachstellen lässt. Eines zeigen meine Tests jedoch. Wenn ich das Programm starte und noch keine Lesungen gemacht habe, corre die Routine vor das Waitinput und nichts schaukelt sich hoch. Wurde aber mindestens ein Karton Ware mittels RFID gescannt, wird das XProfan Programm langsam, wenn der User irgendwann eine Pause (ab 15 Min) einlegt. Auch hier ist sichergestellt, dass das Programm in keiner der Procs mehr unterwegs ist, sondern in der abgebildeten Schleife vor dem Waitinput steht.
 
24.03.2016  
 




RGH
Dann soltest Du mal aus Deinem Programm ein kleines (!), aber lauffähiges Beispielprogramm extrahieren, bei dem der Fehler auftritt. Oder Du erweiterst obigen Code so, dass er lauffähig wird und man nachvollziehen kann, dass er irgendwann "einschläft". Ansonsten kann er ja auch an sonstwas liegen und muss gar nichts mit einem Bug in XProfan zu tun haben. Ohne den vermeintlichen Bug nachzuvollziehen, wird Dir leider niemand weiterhelfen können.

Saluto
Roland
 
XProfan X3
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
24.03.2016  
 




Erasmus.Herold
Hallöchen ...

Habe noch einmal verschiedene Ansätze geprüft. Finde derzeit aber keinen Ansatz.
Mit der Rückmeldung, "es liegt nicht an WHILE und WAITINPUT" bin ich dann erst einmal zufrieden.

Danke - Thema kann geschlossen werden.
Erasmus
 
01.04.2016  
 



 
- Page 2 -



Jörg
Sellmeyer
[OFFTOPIC]Du kannst so einen Thread selber jederzeit auf "erledigt" setzen (s. u.). Wenn du später wieder drauf zurückkommen willst, ist das problemlos possibile. Du kannst hier einfach weitermachen und die Markierung rückgängig machen (oder auch nicht...)[/OFFTOPIC]
 
XProfan X3
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
01.04.2016  
 




Erasmus.Herold
thx - hatte den Button per "erledigt" nicht gesehen.
 
02.04.2016  
 




Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

17.853 Views

Untitledvor 0 min.
Jörg Sellmeyer15.05.2018
Peter Max Müller22.10.2017
Tango03.09.2017
p.specht04.01.2017
Di più...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie