Lieber Thomas,
vielen Dank für die besonderen Hinweise, da musste ich erst 'mal einiges lesen und noch mehr darüber nachdenken. Den Thread habe ich kapiert, Semaphore aber noch nicht völlig begriffen (kommt noch). Dass Christian Schmitz in seinem post dennoch die Simpel-Version nicht verwerfen wollte, hat mir zu Denken gegeben. Und tatsächlich: Wenn das Hauptprogramm einen Thread bildet, kann dieser zwar beliebig angehalten werden, das Hauptprogramm läuft aber weiter.

Doch, das ginge: Wenn beim Programmstart Window1 aufgebaut werden soll und dazu Daten aus der DB gebraucht werden, auf deren Eintreffen gewartet werden muss, dann wird in Window1.Open das Window1.visible = false gesetzt. Von Window1 im Hintergrund wird ein Thread gebildet und gestartet, der über Window1.Socket die DB abfragt und solange suspended bleibt, bis er von Window1.Socket.DataAvailable wieder gestartet wird. Dann werden diese Daten zum Aufbau des Fensters verarbeitet und erst dann wird vom ablaufenden Thread Window1.visible = true gesetzt. So etwa müsste es gehen.

besten Dank, Christian Hahn.

----- Original Message ----- From: "Thomas Tempelmann" <tempelm...@gmail.com>
To: "REALbasic NUG German" <realbasic-nug.de@lists.realsoftware.com>
Sent: Saturday, February 27, 2010 1:34 PM
Subject: Re: Warteschleife


ja, dazu benutzt man nen rhread und semaphore oder thread.sleep und .resume

ich hab auf meiner webseite dazu auch ein bsp, suche mal nach "process sleep".

On Saturday, February 27, 2010, Christian Hahn <christian.h...@snafu.de> wrote:
Hallo,
meine Programm-Routine muss über ein Socket DB-Daten abfragen und kann erst weitermachen, wenn diese Daten available sind. Am einfachsten wäre, die Routine mit dem Befehl socket.write zu beenden und das socket.dataavailable-Event eine weitere Routine aufrufen zu lassen, die den Aufbau des Fensters vollendet. Aber das wird ziemlich unübersichtlich. Die Überlegung, die Routine in einer do-loop-Schleife so lange warten zu lassen, bis das socket.dataavailable-Event die Variable DatenBreit auf true gesetzt hat, erscheint mir etwas abenteuerlich.
Gibt es nicht eine solide Technik dafür?

beste Grüße, Christian Hahn.


--
Thomas Tempelmann, http://www.tempel.org/


Antwort per Email an