Propertygrid - Objekt auf nil setzen

Rund um die LCL und andere Komponenten
Antworten
soerensen3
Beiträge: 104
Registriert: Fr 22. Jun 2012, 01:51
OS, Lazarus, FPC: Fedora-Linux 23 (Korora) Lazarus 1.6 FPC 3.0
CPU-Target: 64Bit
Wohnort: Bonn

Propertygrid - Objekt auf nil setzen

Beitrag von soerensen3 »

Ich habe eine Frage zum Propertygrid (also der Objektinspektor) das bei Lazarus dabei ist.
Und zwar habe ich eine Liste mit Objekten, die, wenn sie ausgewählt werden im Propertygrid angezeigt werden.
Wenn ich aber Objekte lösche, werden die immernoch dort angezeigt, was zu Zugriffsfehlern führt. Leider bringt auch ein auf nil setzen nichts, weil dann nichts passiert. Ich habe auch schon im Code vom Propertygrid nachgeguckt und irgendwie sieht das so aus als ob das garnicht vorgesehen ist das auf nil zu setzen.
Im Moment setzt ich dann einfach die Form als Objekt und dann funktionierts, aber das ist nur eine Zwischenlösung.
Ich würde auch ungern sowas machen wie ein leeres Objekt zu erstellen auf das ich immer setze.
Hab ich was übersehen?

Socke
Lazarusforum e. V.
Beiträge: 3178
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Propertygrid - Objekt auf nil setzen

Beitrag von Socke »

soerensen3 hat geschrieben:Hab ich was übersehen?
Nein, das stimmt: man kann TTIPropertyGrid.TIObject nicht auf nil setzen. Man kann nur eine Ebene höher ansetzen. Hier habe ich aus der Methode TCustomPropertiesGrid.SetTIObject() einfach mal die benötigten Zeilen herausgeklaut:

Code: Alles auswählen

uses
  PropEditUtils;
var
  psl: TPersistentSelectionList;
begin
  psl := TPersistentSelectionList.Create;
  TIPropertyGrid1.Selection := psl;
  psl.free;
end;
Edit: ich war so frei, einen Bugt-Report aufzumachen (#22720)
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

soerensen3
Beiträge: 104
Registriert: Fr 22. Jun 2012, 01:51
OS, Lazarus, FPC: Fedora-Linux 23 (Korora) Lazarus 1.6 FPC 3.0
CPU-Target: 64Bit
Wohnort: Bonn

Re: Propertygrid - Objekt auf nil setzen

Beitrag von soerensen3 »

Super, das klappt!
Da wär ich leben nicht drauf gekommen.
Man weiß ja auch nie ob das ein bug ist oder ob das einen tieferen sinn hat, das das so nicht geht.
Danke!

Socke
Lazarusforum e. V.
Beiträge: 3178
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Propertygrid - Objekt auf nil setzen

Beitrag von Socke »

soerensen3 hat geschrieben:Man weiß ja auch nie ob das ein bug ist oder ob das einen tieferen sinn hat, das das so nicht geht.
Ich hab mir auch nur den Code angesehen; und die doppelte Überprüfung, ob der neue Wert nil ist, kam mir irgendwie seltsam vor.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

Antworten