AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Ein Object in TObjectList<T> löschen mit Ereignis
Thema durchsuchen
Ansicht
Themen-Optionen

Ein Object in TObjectList<T> löschen mit Ereignis

Ein Thema von RWarnecke · begonnen am 1. Nov 2012 · letzter Beitrag vom 2. Nov 2012
Antwort Antwort
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.655 Beiträge
 
Delphi 12 Athens
 
#1

AW: Ein Object in TObjectList<T> löschen mit Ereignis

  Alt 2. Nov 2012, 08:04
Wenn du möchtest, dass ich das Fenster schließe, dann musst du mir das sagen und nicht Erna Rübenkohl aus Recklinghausen, auch wenn die mal ein Foto von mir gesehen hat.
Das wird die arme Erna aber traurig machen
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#2

AW: Ein Object in TObjectList<T> löschen mit Ereignis

  Alt 2. Nov 2012, 08:15
Das OnChange soll dann ausgeführt werden, wenn ein Objekt hinzugefügt oder geändert wird. Das OnDelete soll dann ausgeführt werden, wenn ein Object aus der ObjectList gelöscht wird.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: Ein Object in TObjectList<T> löschen mit Ereignis

  Alt 2. Nov 2012, 08:49
Das OnChange soll dann ausgeführt werden, wenn ein Objekt hinzugefügt oder geändert wird. Das OnDelete soll dann ausgeführt werden, wenn ein Object aus der ObjectList gelöscht wird.
Beide Klassen haben die Eigenschaft OnDelete und OnChange. Deine Erklärung ist da nicht präzise, von welcher Klasse du jetzt das OnDelete/OnChange meinst.

Das ist auch der Grund warum es nicht so funktioniert, wie du das erwartest.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von Jonas Shinaniganz
Jonas Shinaniganz

Registriert seit: 30. Aug 2011
249 Beiträge
 
Delphi XE5 Ultimate
 
#4

AW: Ein Object in TObjectList<T> löschen mit Ereignis

  Alt 2. Nov 2012, 09:30
Zitat:
Das OnDelete soll dann ausgeführt werden, wenn ein Object aus der ObjectList gelöscht wird.
Delphi-Quellcode:
TListe = class (TObjectList<TForm1>)
public
  procedure Delete(Index: Integer); overload;
end;

procedure TListe.Delete(Index: Integer);
begin
  inherited Delete(Index);
  ShowMessage('es wurde was gelöscht'); // oder OnDelete ??
end;
Delphi-Quellcode:
  Liste := TListe.Create;
  Liste.Add(Form1);
  Liste.Delete(0); // Es wurde was gelöscht

So hab Ich es jetzt verstanden... Also jetzt meldet die Liste was
Die Leiter der Entwicklungsabteilung dreht total am Mausrad!
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

AW: Ein Object in TObjectList<T> löschen mit Ereignis

  Alt 2. Nov 2012, 09:39
Zitat:
Das OnDelete soll dann ausgeführt werden, wenn ein Object aus der ObjectList gelöscht wird.
[...]
So hab Ich es jetzt verstanden... Also jetzt meldet die Liste was
Es ist aber nicht eindeutig, da sowohl TDegree und TCustomObjectList OnDelete haben. Ja welches denn jetzt?

Zumal die Begrifflichkeiten streng genommen falsch sind:

TDegree.OnDelete = Wenn die Instanz (TDegree) aus dem Speicher entfernt wird

TCustomObjectList.OnDelete = Wenn die Instanz (TCustomObjectList) aus dem Speicher entfernt wird
... ach nee, wenn ein Item aus der Liste geworfen wird ... aber für die Liste ist es doch nur eine Änderung an sich selber
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von Jonas Shinaniganz
Jonas Shinaniganz

Registriert seit: 30. Aug 2011
249 Beiträge
 
Delphi XE5 Ultimate
 
#6

AW: Ein Object in TObjectList<T> löschen mit Ereignis

  Alt 2. Nov 2012, 10:01
Ein OnDelete welches so gedacht ist, dass es vom Objekt selbst kommt.. quasi ein OnDestroy.. naja das könnte dann höchstens ein "OnBeforeDelete" werden...

destructor Destroy;
begin
OnDelete;
//kram...
inherited;
end;

Aber du willst ja ein "OnItemDelete" um der Sache mal ein eindeutigeres Wort zu geben.

Oder?

Edit:

Die Liste soll ja deine Objekte verwalten... je nachdem wie du arbeitest brauchen dann deine Objekte garkein OnDelete AKA OnDestroy. Außer deine Objekte sind wiederum von einer Klasse die vielleicht eine Liste oder etwas mit einem sinnigen Delete hat...
Die Leiter der Entwicklungsabteilung dreht total am Mausrad!

Geändert von Jonas Shinaniganz ( 2. Nov 2012 um 10:04 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.351 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Ein Object in TObjectList<T> löschen mit Ereignis

  Alt 2. Nov 2012, 10:05
Vielleicht sollte die Ereignisbehandlung der Liste über "OnItemDelete" laufen...

EDIT: Oups, überholt ohne einzuholen...
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:06 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