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