Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Instanz eines Objektes auf existenz Prüfen (https://www.delphipraxis.net/14547-instanz-eines-objektes-auf-existenz-pruefen.html)

Jelly 11. Jan 2004 19:10

Re: Instanz eines Objektes auf existenz Prüfen
 
Hallo,

anderes Bsp ist doch dem beschriebenem Problem ganz ähnlich. Bei Komponenten kannst du auch als Eigenschaften auf andere Komponenten referieren. Z.B. referiert TDatasource über die Dataset-Eigenschaft auf eine Tabelle oder Query. Wird jetzt die TQuery von der Form gelöscht, kriegst du, falls du nicht explizit darauf achtest, eine Speicherverletzung, wenn du dir den Wert von Dataset in deiner TDatasource Komponente ankuckst.

Bei dem genannten Bsp. kriegst du diese Schutzverletzung natürlich nicht, da diese sauber abgefangen wird. Schau dir mal in dem Kontext die Methode "Notification" an, welche in der Klasse TComponent definiert ist. In der Delphi Hilfe findest du dazu mehr, hier kurzer Auszug:

Zitat:

Zitat von Delphi
A component can, if needed, act on the notification that a component is being inserted or removed. For example, if a component has object fields or properties that contain references to other components, it can check the notifications of component removals and invalidate those references as needed.

Wie ich bereits in einem Eintrag vorher schrieb, ist es nötig daß du bei deiner Klassenerzeugung die Owner Klasse mitübergibst.

Gruß,
Tom

Christian Seehase 11. Jan 2004 23:40

Re: Instanz eines Objektes auf existenz Prüfen
 
Moin Skript,

in so einem Falle würde ich den Formularen kein Objekt übergeben, sondern ich würde das Objekt als Eigenschaft meines Hauptformulares für die anderen zur Verfügung stellen.
Dadurch habe ich nur eine einzige Variable die die Referenz auf das Objekt enthält, und kann dann auch diese gezielt auf Gültigkeit testen, und das von jeder Stelle aus, von der ich Zugriff auf das Hauptformular habe.

maximov 12. Jan 2004 00:29

Re: Instanz eines Objektes auf existenz Prüfen
 
Hi.

Ich wollte noch anmerken, dass du meistens 'referenz' und 'instanz' verwechselst! Die beziehung von objekten und deren pointer wird bei der korrekten verwendung, dieser ausdrücke, sehr viel eindeutiger :wink:

cu.

Skript 12. Jan 2004 05:16

Re: Instanz eines Objektes auf existenz Prüfen
 
Halllloo,

vielen Dank für eure Antworten, ich glaube so kann ich das Problem lösen (bzw. umgehen) :P trotzdem schade, dass es nicht möglich ist Instanzen (bzw. Referenzen) einfacher zu handhaben und notification tönt einleuchtend bei Formularen/Komponenten.

tja dann bis zum nächsten Problem... :-D

Skript

maximov 12. Jan 2004 10:27

Re: Instanz eines Objektes auf existenz Prüfen
 
Zitat:

Zitat von Skript
... und notification tönt einleuchtend bei Formularen/Komponenten.

Nicht nur bei Formularen/Komponenten, sondern bei allen komplexeren objektstrukturen, bei denen es diverse beziehungen untereinander gibt. Hat mich einige mühe gekostet dieses konzept in meine basis-klasse einzubauen, aber löst genau dieses problem wunderbar :-D

cu.


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

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz