ImageGadget verschwindet bei zweitem Fenster
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
nuja.... wenn das Image jetzt auftaucht, dann wird das Event ja bearbeitet.
denn SetGadgetState auf ein ImageGadget löst ein Event aus, es würde sich da nix tun, wenn die Queue überlaufen wäre.
da ich von Telnet keine ahnung hab, weiß ich nicht, ob dort Events erzeugt und verdusselt werden.
wichtig wäre schon, dass die Eventverarbeitung weitergeführt wird,
wenn in der Telnet-Proc längere Zeit verweilt wird.
das würde bedingen, entweder diese Proc in einem tread laufen zu lassen,
oder die einzelnen schritte der Verarbeitungsschleife in die Eventschleife zu integrieren...
denn SetGadgetState auf ein ImageGadget löst ein Event aus, es würde sich da nix tun, wenn die Queue überlaufen wäre.
da ich von Telnet keine ahnung hab, weiß ich nicht, ob dort Events erzeugt und verdusselt werden.
wichtig wäre schon, dass die Eventverarbeitung weitergeführt wird,
wenn in der Telnet-Proc längere Zeit verweilt wird.
das würde bedingen, entweder diese Proc in einem tread laufen zu lassen,
oder die einzelnen schritte der Verarbeitungsschleife in die Eventschleife zu integrieren...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Bevor Du Telnet() aufrufst, disablest Du alle Gadget, wo der Anwender was
eingeben könnte. Eine kleine Progressbar vors Fenster oder ähnlich. Dann fügste
ein paar
in die Telnet Procedure ein, überall wo Du mit Gadgets was machst, z.B.
AddGadgetItem SetGadgetText u. ä.
Am Ende wieder das Disable der Gadgets entfernen, ist zwar nicht sehr
sauber, aber besser als ein totes Fenster.
Nur als workaround, ansonsten müßte man das ja eher Neuschreiben
eingeben könnte. Eine kleine Progressbar vors Fenster oder ähnlich. Dann fügste
ein paar
Code: Alles auswählen
While WindowEvent() : Wend
AddGadgetItem SetGadgetText u. ä.
Am Ende wieder das Disable der Gadgets entfernen, ist zwar nicht sehr
sauber, aber besser als ein totes Fenster.
Nur als workaround, ansonsten müßte man das ja eher Neuschreiben

PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

- Elektrolurch
- Beiträge: 168
- Registriert: 11.10.2007 16:48
- Wohnort: 49°26'51.46"N - 8°59'49.06"E
- Kontaktdaten:
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Alle gadgets, wo der Anwender Eingaben machen könnte! Wahrscheinlich im
Hauptfenster. Alle Buttons, das Editorgadget auf readonly setzen.
Du sollt also verhindern, das der Anwender wo drückt und nichts passiert,
weil Deine Netzwerkroutine so lange braucht. Es gibt nichts schlimmeres als
aktivierte Buttons wo man draufkloppt und nichts passiert
Hauptfenster. Alle Buttons, das Editorgadget auf readonly setzen.
Du sollt also verhindern, das der Anwender wo drückt und nichts passiert,
weil Deine Netzwerkroutine so lange braucht. Es gibt nichts schlimmeres als
aktivierte Buttons wo man draufkloppt und nichts passiert

PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

- Elektrolurch
- Beiträge: 168
- Registriert: 11.10.2007 16:48
- Wohnort: 49°26'51.46"N - 8°59'49.06"E
- Kontaktdaten:
Hi
Ja ist schon klar, ich habe schon alles bis auf das IPGadget und den Startbutton auf unsichtbar gestellt, damit da nichts groß zu machen ist.
Mit dem Progressbar kann ich auch die Augen etwas beschäftigen.
Die Telnetroutine ist in der Regel in einer Sekunde erledigt.
Sie besteht ja nur aus der Anmeldung und 1-5 Linuxbefehlen.
Nochmal Danke
Bye Andre
Ja ist schon klar, ich habe schon alles bis auf das IPGadget und den Startbutton auf unsichtbar gestellt, damit da nichts groß zu machen ist.
Mit dem Progressbar kann ich auch die Augen etwas beschäftigen.

Die Telnetroutine ist in der Regel in einer Sekunde erledigt.
Sie besteht ja nur aus der Anmeldung und 1-5 Linuxbefehlen.
Nochmal Danke
Bye Andre
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
- Elektrolurch
- Beiträge: 168
- Registriert: 11.10.2007 16:48
- Wohnort: 49°26'51.46"N - 8°59'49.06"E
- Kontaktdaten:
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
> Dadurch wird auch die Debugausgabe flüssiger.
yup, weil die Events, die die Textänderung erzeugt, gleich weitergereicht werden und das fenster sich aktualisiert.
das disabling dient dann auch noch dazu, dass dort kein events erzeugt werden,
die durch die while\wend einfach ohne Verarbeitung weitergereicht würden.
yup, weil die Events, die die Textänderung erzeugt, gleich weitergereicht werden und das fenster sich aktualisiert.
das disabling dient dann auch noch dazu, dass dort kein events erzeugt werden,
die durch die while\wend einfach ohne Verarbeitung weitergereicht würden.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.