![]() |
arbeiten mit array of stringlist
Hallo DP,
Ich habe leider 2 Probleme: 1.: wie kann ich überprüfen ob array[i] noch existiert, wenn ich zuvor array[i].free; ausgeführt habe? Mit assigned(array[i]) erhalte ich trotzdem noch true. array[i] ist eine stringlist. 2.: Ich übergebe in eine Prozedur einen array of tstringlist und möchte nun per setlength(übergabearray, length(übergabearray)-1) die letzte stelle abschneiden, aber ich bekomme einen error, dass es sich um inkompatible typen handelt. Wenn ich selbiges mache, bevor ich den array übergebe tritt das nicht auf. Hoffe, dass mir da einer weiterhelfen kann. BB Jan |
Bitte pro Frage einen Thread, sonst geht das hier zu sehr durcheinander. :mahn:
Aber zu 1.: Versuch mal array[i].FreeAndNil; |
Hallo Luckie,
entschuldige den post, wird nicht nochmal vorkommen. Zitat:
Code:
allerdings gibt auch mit diesem befehl
FreeAndNil(filterarray[i]);
assigned(filterarray[i]) true zurück. Gruß Jan |
Wenn du die Objekte mit FreeAndNil() löschst, kannst du eine einfache Überprpfug auf nil machen:
Delphi-Quellcode:
Irgendwie logisch, oder ;-)?
if (array[i] = nil) then
ObjectExists(); |
Hallo d3g,
Code:
Fehlermeldung:
if not filtarray[i]= nil then
Operator ist auf diesen Operandentyp nicht anwendbar. :[ Was mach ich falsch? BB Jan |
Hi Jan,
der not-Operator hat eine sehr hohe Gewichtung. Der Ausdruck
Delphi-Quellcode:
ist deshalb genau das gleiche wie
not filtarray[i] = nil
Delphi-Quellcode:
Und weil man den not-Operator nur auf Zahlen und nicht auf Objekte anwenden kann, bekommst du eine Fehlermeldung. Es muss also heißen:
(not filtarray[i]) = nil
Delphi-Quellcode:
MfG,
if (not (filtarray[i] = nil)) then
ObjectExists(); d3g |
ok, danke, klappt jetzt alles :]
|
if Object <> nil then
Viel schöner :mrgreen: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:57 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