![]() |
Re: Rückgabewert der Funktion undefiniert
@Satty: Es ist gar nicht sicher, dass Result überhaupt Speicherplatz zugewiesen wird. Es kann sein, dass am Ende einfach der Wert zurückgegeben wird, der zufällig in AL stand.
|
Re: Rückgabewert der Funktion undefiniert
Hey!
Habe das erstmal umgesetzt, was jfheins sagte ... Und auch das von Satty67 verstanden ... Das heißt, Delphi rechnet damit, dass die Liste leer sein kann? Narrja, es ist ja gut und auch logisch, dass bei leerer Liste keine Schleife durchlaufen wird, denn ich brauche ja nichts abgleichen oder nicht hinzufügen, wenn sie eh leer ist ... Ob Boolean immer auf false initialisiert wird - festlegen möchte ich mich nicht. Aber ich habe es überprüft bei meiner Funktion und er initialiserte mit false ... Außerdem ist es ja logisch: Eine Variable wird immer mit dem kleinsten Wert belegt (Integer=0) und false ist nun mal kleiner als true (denn 0<1). Daher bestimmt eben ... Aber obwohl ich nun meinen Quellcode geändert habe, geht es immer noch nicht. Die Fehlermeldung ist zwar weg, aber er fügt dennoch Dateien mehrmals hinzu, wenn ich z.B. Datei 1-15 im ersten Durchlauf Drage und Drope und dann eben Datei 8-11 wieder hineinmache, dann fügt er sie gnadenlos hinzu ohne zu merken, dass sie ja schon im ersten Durchlauf hinzugefügt wurden ... PS: Ich verstehe nats Beitrag nicht ... Besser gesagt den Quellcode??? In einer Wertzuweisung ein Vergleich - hä? Und meint er mit 'vorhanden' etwa 'schonda'? |
Re: Rückgabewert der Funktion undefiniert
Um meine Aussage zu verdeutlichen: Ich meine, das zum einen das von Satty67 festgestellte. Es gibt Fälle, in denen die Schleife nicht durchlaufen wird und der Rückgabewert der Funktion gänzlich ungesetzt ist und wie von Apollonius beschrieben ein undefinierter Wert aus dem Arbeitsspeicher gelesen wird.
Es wird nur False mit 0 definiert. True ist alles <> 0. Daher gibt es auch Unterschiede im BOOLEAN und dem von der WinAPI verwendeten BOOL (welches glaub ich LONGBOOL ist). |
Re: Rückgabewert der Funktion undefiniert
Habe ja schon geschrieben, egal wie boolean initialisiert wird, in meiner Funktion - habe ich getestet - wird False ausgegeben, wenn nichts definiert wird ...
Bitte nochmal auf meinen vorigen Beitrag eingehen ... |
Re: Rückgabewert der Funktion undefiniert
ja, das was ich oben geschrieben habe kannst du als ersatz für deine schonda funktion nehmen.
wenn du jetzt sowas wie
Delphi-Quellcode:
hast, dann
vorhanden := schonda(dateiname);
kannste das durch
Delphi-Quellcode:
ersetzen.
vorhanden := Listbox1.Items.IndexOf(dateiname) >= 0;
guck dir in der hilfe ma an, was indexof macht. und das mit den vergleichen in einer zuweisung: ein vergleich ergibt doch einen boolschen wert. diesen kannste natürlich auch einer boolschen variable zuweisen! |
Re: Rückgabewert der Funktion undefiniert
IndexOf in der hilfe bei was gucken ...?
TListItems oder wo oder was ....??? |
Re: Rückgabewert der Funktion undefiniert
Hi
TListbox.Items ist vom Typ TStrings. und TStrings hat eine Methode IndexOf..... Gruss |
Re: Rückgabewert der Funktion undefiniert
man wär auch hingekommen wenn man die hilfe zu TListbox aufgerufen hätte, da auf items geklickt hätte und dann halt auf indexof.
irgendwie logisch, oder? :lol: |
Re: Rückgabewert der Funktion undefiniert
Ich habs jetzt begriffen
Delphi-Quellcode:
aber es funktioniert immer noch nicht; keine Fehlermeldung aber er fügt gnadenlos hinzu ...
//Neue Dateien in Listbox1
for r:=1 to a do if listbox1.items.indexof(listbox4.items[r-1])=-1 then listbox1.items.add(listbox4.items[r-1]); Ich habe übrigens mal mit ner anderen Listbox geprüft; es ist immer -1 ... D.h. da geht wohl was nicht so, wie es soll ......... |
Re: Rückgabewert der Funktion undefiniert
poste ma n bisserl mehr quelltext!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:34 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 by Thomas Breitkreuz