Wiedermal ein komischer Titel, aber wie so oft fällts mir nicht besser ein
Ich habe eine Funktion. In dieser Funktion ist ungefähr in der Mitte unter einer Bedingung ein Aufruf genau dieser Funktion. Was passiert mit dem Rest der Funktion, der nach dem Aufruf kommt? Wird der 'Rest-Code' trotzdem noch ausgeführt oder springt man sozusagen mit dem Aufruf der Funktion, aus der Funktion raus (Neustart der Funktion)?
Um das Wirr-Warr zu verdeutlichen ein Code-Beispiel:
Delphi-Quellcode:
// etc
var bla,blubb : boolean;
// global
// etc
function popohaue():integer;
begin
if bla=blubb
then begin
popohaue();
end;
showmessage('
wuppdi');
blubb:=false;
end;
procedure Button1.Click(Sender: TObject);
begin
bla:=true;
blubb:=true;
popohaue();
Würde das Showmessage noch ausgeführt werden, auch wenn die Funktion schon erneut aufgerufen wurde?
Beim Testen kratzte TurboDelphi ab, von daher vermute ich, dass es so nicht funktioniert
Würde also bedeuten, dass die Funktion unendlich läuft, weil die Bedingung zutrifft und den 'Rest-Code' ignoriert. Stimmt diese Annahme oder gibt es etwas Anderes zu beachten, das ich übersehen habe?