Mal blöd gefragt:

Warum fragst Du nicht zuerst die Datenbank ab und wenn Du die Daten hast,
dann machst Du ein Fenster auf und zeigst die Daten an?

a.


On 28.02.10 16:50, "Christian Hahn" <christian.h...@snafu.de> wrote:

> 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.
>> 



Antwort per Email an