![]() |
Rückgabe steuern
Hallo,
ist es möglich solange in einer Funktion z.B.
Delphi-Quellcode:
zu bleiben bis ein bestimmtes Ereignis eintritt so dass die Funktion dann erst einen Rückgabewert liefert. Nach Möglichkeit ohne sleep und ähnliches, da währenddessen noch was anderes läuft.
function TCDCheck.WriteMedium: Boolean;
begin ... case yeah of 0: begin ... end; 1: result := false; 2: result := true; end; end; Will das wenn es eine Lösung gibt gerne ohne Multithreading machen. [edit=Sharky]Delphi-Tags gesetzt. Mfg, Sharky[/edit] |
Re: Rückgabe steuern
Nein, so ohne weiteres nicht, das jede Zeile (Befehl, Funktion) sequentiell abgearbeitet wird. Aber lös doch einfach einen Event aus, wenn ein Ereiegnis zutrifft und schreibe, das was passieren soll, in deinen Eventhandler.
|
Re: Rückgabe steuern
Zitat:
Zitat:
...:cat:... |
Re: Rückgabe steuern
nimm doch einfach eine If...then Anweisung
Delphi-Quellcode:
müsste klappen
If 'bestimmtes Ereignis eintritt' then
begin result:=false; exit; //verlässt die funnktion end else reslut:=true; |
Re: Rückgabe steuern
Erestens: Exit stoppt nicht die Funktion, sondern verläßt sie sofort. Und zweitens: Wie geht es nach
Delphi-Quellcode:
weitere? Wenn dort nichts mehr kommt, wird die Funktion auch zu ende abgerabeitet.
else
reslut:=true; |
Re: Rückgabe steuern
man müsste quasi ne Endlosschleife bauen ... :gruebel:
|
Re: Rückgabe steuern
na, wenn das ereignis eintritt, läuft die funktion nicht mehr weiter, bzw.
Result ist auf false gesetzt. Oder habe ich jetzt was missverstanden. wollte das burns4711 nicht?? |
Re: Rückgabe steuern
Zitat:
Zitat:
|
Re: Rückgabe steuern
Hallo,
ich habe eine Funktion namens Updatestatus, die die verschiedenen Stati meines Programmes überwacht und zwischen diesen hin und her schaltet. Entscheidungen werden von dieser mittels der Rückgabewerte meiner einzelnen Funktionen getroffen die sie aufruft. Nun gibt diese eine besagte funktion leider alles viel zu schnell zurück und müsste eigentlich noch auf den Wert einer anderen Funktion warten die mittels Timer in regelmäßigen Abständen läuft bis die BEdingung erfüllt ist. Dann erst und NUR dann darf die oben erwähnte Funktion erst ihren Rückgabewert liefern, da die Funktion updatestatus sonst falsch entscheidet. Hoffe das erläutert mein Problem näher |
Re: Rückgabe steuern
Meines Erachtens ist der Timer viel zu ungenau...
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:20 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz