![]() |
Funktion rekursiv aufrufen
Ist es möglich eine Funktion innerhalb einer Schleife
Rekursiv aufzurufen ?
Delphi-Quellcode:
gruß
Procedure List_Menu(hWnd, hmenu : DWORD; sys : Boolean);
If MenuList[cnt].nType = 1 Then begin subMenu := GetSubMenu(hmenu, i); menuCnt := GetMenuItemCount(subMenu); MenuList[cnt].nSub := menuCnt; List_Menu(hWnd, subMenu, False); end; |
Re: Funktion rekursiv aufrufen
Grundsätzlich ja.
|
Re: Funktion rekursiv aufrufen
1. Warum sollte es das nicht?
2. Wo siehst du da eine Schleife? 3. ein begin...end; würde dem ganzen nicht schaden. |
Re: Funktion rekursiv aufrufen
Da ist keine Schleife.
:gruebel: Solange Du Dich um die korrekte Abbruch-Bedingung kümmerst, sollte die Rekursion jedoch kein Problem sein. |
Re: Funktion rekursiv aufrufen
Liebe Leute :zwinker:
Die IF Abfrage befindet sich innerhalb einer schleife Hat sich erledigt. Gruß |
Re: Funktion rekursiv aufrufen
Zitat:
|
Re: Funktion rekursiv aufrufen
Zitat:
Delphi-Quellcode:
Wenn ich die Funktion wieder aufrufe gibt es einen AV.. Warum ?
List_Menu(hWnd, subMenu, False);
Gruß |
Re: Funktion rekursiv aufrufen
Ich denke mal nicht, dass das an der Rekursion liegt, sondern viel mehr an deiner Funktion.
Florian |
Re: Funktion rekursiv aufrufen
Debugge dein Programm mal und schaue, wo die AV genau auftritt.
|
Re: Funktion rekursiv aufrufen
Zitat:
Die Funktion ist in Ordnung läuft alles einwandfrei bis dieses Zeile aufgerufen wird welche das Standard Menü einer Anwendung ausgibt. Beim SystemMenü funktioniert das einwandfrei. EDIT: Hat sich erledigt. gruß |
Re: Funktion rekursiv aufrufen
Wie wäre es, wenn du mal das machst, was mkinzler vorschlägt?
Also einfach ein paar Breakpoints setzen und dann den Evaluator verwenden, um den Grund dafür zu finden. EDIT: Wenn es sich erledigt hast, sagst du uns dann auch, warum? |
Re: Funktion rekursiv aufrufen
Zitat:
Habe die incrementierung nicht richtig gesetzt deshalb kam es zum absturz sobald das Menü um einen punkt nach rechts eingelesen wurde. Werde den Quelltext veröffentlichen sobald ich das Prog abgeschlossen habe. Habe noch ein Problem mit einer String Formatierung dann ist es fertig. Gruß |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:26 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