Tja, die komplizierte Erklärung macht es vielleicht etwas unübersichtlich: Wer immer die Datenbank abfragt, er muss warten muss nach der Abfrage warten, bis der Server die Daten zurück geliefert hat, bevor die Daten verwendet werden können. Ich muss für die Abfrage wohl ein Socket-Object benutzen und das wollte ich in einem Window paltzieren. Aber in der Tat, man könnte das auch das socket auch "freihändig" im Application-Objekt generieren.
besten Dank für den Gedanken,  Gruß, Christian Hahn.

----- Original Message ----- From: "Andy Fuchs" <a...@foxwerk.de>
To: "REALbasic NUG German" <realbasic-nug.de@lists.realsoftware.com>
Sent: Sunday, February 28, 2010 5:25 PM
Subject: Re: Warteschleife


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