Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi ListView wird anscheinend vor Destroy-Aufruf zerstört (https://www.delphipraxis.net/31481-listview-wird-anscheinend-vor-destroy-aufruf-zerstoert.html)

Christian Seehase 10. Okt 2004 12:43

Re: ListView wird anscheinend vor Destroy-Aufruf zerstört
 
Moin Sebastian,

Zitat:

Zitat von sieppl
Das ist nicht der Punkt, da die Zugriffsverletzung vor dem Destroy-Aufruf erfolgt, bevor die oben erläuterten Methoden aufgerufen werden

Wo der ListView erzeugt wird, und wer der Owner ist, ist, soweit ich das bislang absehen kann, genau der Punkt.
Wenn Du selber die Steuerung übernimmst, wann der ListView zerstört wird, kann er Dir auch nicht vor dem Zerstören des Thread "unter den Füssen weggezogen" werden

sieppl 10. Okt 2004 12:54

Re: ListView wird anscheinend vor Destroy-Aufruf zerstört
 
Zitat:

Zitat von Christian Seehase
Moin Sebastian,

Zitat:

Zitat von sieppl
Das ist nicht der Punkt, da die Zugriffsverletzung vor dem Destroy-Aufruf erfolgt, bevor die oben erläuterten Methoden aufgerufen werden

Wo der ListView erzeugt wird, und wer der Owner ist, ist, soweit ich das bislang absehen kann, genau der Punkt.
Wenn Du selber die Steuerung übernimmst, wann der ListView zerstört wird, kann er Dir auch nicht vor dem Zerstören des Thread "unter den Füssen weggezogen" werden

okay, kannst du mir erklären wie ich das steuern kann?
waurm werden denn die Items vor dem Destroy-Aufruf auf nil gesetzt?

Christian Seehase 10. Okt 2004 12:56

Re: ListView wird anscheinend vor Destroy-Aufruf zerstört
 
Moin Sebastian,

Zitat:

Zitat von sieppl
waurm werden denn die Items vor dem Destroy-Aufruf auf nil gesetzt?

deshalb meine Frage wann der ListView erzeugt wird, und wer der Owner ist.

sieppl 10. Okt 2004 13:11

Re: ListView wird anscheinend vor Destroy-Aufruf zerstört
 
Der ListView wird als Komponente auf das Formular gezogen. Es liegt also nicht direkt in meiner Hand. Ich denke der Owner ist das Panel in dem er drinliegt.

Christian Seehase 10. Okt 2004 13:23

Re: ListView wird anscheinend vor Destroy-Aufruf zerstört
 
Moin Sebastian,

das hatte ich befürchtet (und erwartet ;-))

Dann sehe ich (nur) folgende Möglichkeiten:
  • Die Komponente muss dahingehend erweitert werden, dass sie den ListView selber erzeugt.
    (warum heisst die eigentlich TImgStdListView, wenn sie das nicht macht ;-))
  • Deine Kompo wird wieder dynamisch erzeugt.
  • Die Reihenfolge in der die Komponenten auf das Formular gelegt werden wird getauscht.
    Ich weiss es nicht genau, aber das könnte die Reihenfolge in der die Komponenten erzeugt/zerstört werden beeinflussen.

Punkt 2 dürfte wohl mit Abstand am einfachsten umzusetzen sein.

sieppl 10. Okt 2004 14:12

Re: ListView wird anscheinend vor Destroy-Aufruf zerstört
 
Zitat:

Zitat von Christian Seehase
Moin Sebastian,

das hatte ich befürchtet (und erwartet ;-))

Dann sehe ich (nur) folgende Möglichkeiten:
  • Die Komponente muss dahingehend erweitert werden, dass sie den ListView selber erzeugt.
    (warum heisst die eigentlich TImgStdListView, wenn sie das nicht macht ;-))
  • Deine Kompo wird wieder dynamisch erzeugt.
  • Die Reihenfolge in der die Komponenten auf das Formular gelegt werden wird getauscht.
    Ich weiss es nicht genau, aber das könnte die Reihenfolge in der die Komponenten erzeugt/zerstört werden beeinflussen.

Punkt 2 dürfte wohl mit Abstand am einfachsten umzusetzen sein.

ja, danke. ich verstehe es aber nicht. der thread wird vom ListView erzeugt und die beiden sind eng miteinander verknüpft. Die ListView.Items können doch nicht einfach verschwinden bevor Destroy aufgerufen wurde.

Christian Seehase 10. Okt 2004 14:49

Re: ListView wird anscheinend vor Destroy-Aufruf zerstört
 
Moin Sebastian,

Zitat:

Zitat von sieppl
der thread wird vom ListView erzeugt

:shock: :gruebel:

Also ich hatte es so verstanden, dass der ListView von Dir auf das Formular gezogen wird, und Deine eigene Kompo, die den Thread erzeugt auch. Der ListView wird der anderen Kompo dann übergeben.
Oder nicht, oder doch, oder wie... :gruebel:

sieppl 10. Okt 2004 14:55

Re: ListView wird anscheinend vor Destroy-Aufruf zerstört
 
Zitat:

Zitat von Christian Seehase
Moin Sebastian,

Zitat:

Zitat von sieppl
der thread wird vom ListView erzeugt

:shock: :gruebel:

Also ich hatte es so verstanden, dass der ListView von Dir auf das Formular gezogen wird, und Deine eigene Kompo, die den Thread erzeugt auch. Der ListView wird der anderen Kompo dann übergeben.
Oder nicht, oder doch, oder wie... :gruebel:

:) Der TImgStdListView ist die Kompo über dir wir die ganze Zeit reden. Es handelt sich um einen abgeleiteten ListView. Dieser erzeugt den besagten Thread. (1. Post war schlecht formulitert, sorry)


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:59 Uhr.
Seite 2 von 2     12   

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