Forum: Object-Pascal / Delphi-Language
Delphi
by DeddyH,
21. Jun 2010
Lass die "nil"-Zuweisung davor weg. Sobald ein Default-Parameter definiert ist, müssen alle folgenden auch Default-Werte aufweisen.
Forum: Object-Pascal / Delphi-Language
Delphi
by DeddyH,
21. Jun 2010
procedure TForm1.scan(path: string; parent: TTreeNode;Maske:String;DateiendungAnzeigen:Boolean=true);
So sollte es aber auch funktionieren, es sei denn, Du hast woanders noch eine gleichnamige Routine und beim Aufruf lässt sich nicht eindeutig zuordnen, welche gemeint ist.
Forum: Object-Pascal / Delphi-Language
Delphi
by DeddyH,
21. Jun 2010
Das kann ja eigentlich nur bedeuten, dass Du beim ursprünglichen Aufruf nicht alle Parameter belegt hattest.
Forum: Object-Pascal / Delphi-Language
Delphi
by DeddyH,
21. Jun 2010
Und dabei wird die Maske ignoriert, sobald die erste Rekursion ins Spiel kommt? Passiert das auch, wenn Du den Defaultwert einmal entfernst?
Forum: Object-Pascal / Delphi-Language
Delphi
by DeddyH,
21. Jun 2010
Dann zeig uns doch einmal die aktuelle Routine sowie den Aufruf, vielleicht sieht man da etwas.
Forum: Object-Pascal / Delphi-Language
Delphi
by DeddyH,
21. Jun 2010
Wenn path sowieso nicht als konstanter Parameter deklariert ist, kannst Du ihn ja innerhalb der Routine ändern, also ggf. den Backslash anhängen. Nimm also als erste Zeile mal
path := IncludeTrailingPathDelimiter(path);
rein und mach vor allem den Slash beim rekursiven Aufruf raus.