So ich habe es gerade mal mit der Tag Eigenschaft der Listview probiert. Das klappt wunderbar.
Aber ich habe gerade noch ein Problem. Da es auch noch zu dem Titel meines Threads passt, poste ich es mal hier:
Also wenn ich ein Child schließe, muss das Items ja auch wieder entfernt werden. Also habe ganz einfach im Closing-Event des Fensters eine Methode im Hauptfenster aufgerufen mit:
TMainFrm(owner).ChildClose(Self.text, Self.path);
Das scheint problemlos zu klappen. Wenn ich jetzt aber in dieser Methode auf die Listview zu greife, bekomme ich die folgende Zugriffsverletzung um die Ohren geworfen:
Zitat:
Projekt SQLEdit.exe traf auf die unhandelte
Exception-Klasse System.NullReferenceException mit der Meldung 'Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.'.
Mein Source:
Delphi-Quellcode:
public
procedure ChildClose(t, p : String);
[...]
procedure TMainFrm.ChildClose(t, p : String);
var
i : Integer;
begin
// Child aus Listbox entfernen
for i:=0 to LView_Dok.Items.Count -1 do
if (LView_Dok.Items.Item[i].Text.Equals(t) and LView_Dok.Items.Item[i].Tag.Equals(p)) then
begin
LView_Dok.Items.RemoveAt(i);
break;
end;
end;
Irgendwie komme ich damit nicht weiter. Bei Delphi mit
Win32 habe ich das eigentlich öfters so gemacht