AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Instanz eines Objektes auf existenz Prüfen
Thema durchsuchen
Ansicht
Themen-Optionen

Instanz eines Objektes auf existenz Prüfen

Ein Thema von Skript · begonnen am 11. Jan 2004 · letzter Beitrag vom 12. Jan 2004
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#11

Re: Instanz eines Objektes auf existenz Prüfen

  Alt 11. Jan 2004, 20:10
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 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
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#12

Re: Instanz eines Objektes auf existenz Prüfen

  Alt 12. Jan 2004, 00:40
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.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von maximov
maximov

Registriert seit: 2. Okt 2003
Ort: Hamburg
548 Beiträge
 
Delphi 2005 Professional
 
#13

Re: Instanz eines Objektes auf existenz Prüfen

  Alt 12. Jan 2004, 01:29
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

cu.
mâxîmôv.

{KDT}
  Mit Zitat antworten Zitat
Skript

Registriert seit: 11. Jan 2004
20 Beiträge
 
#14

Re: Instanz eines Objektes auf existenz Prüfen

  Alt 12. Jan 2004, 06:16
Halllloo,

vielen Dank für eure Antworten, ich glaube so kann ich das Problem lösen (bzw. umgehen) 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...

Skript
  Mit Zitat antworten Zitat
Benutzerbild von maximov
maximov

Registriert seit: 2. Okt 2003
Ort: Hamburg
548 Beiträge
 
Delphi 2005 Professional
 
#15

Re: Instanz eines Objektes auf existenz Prüfen

  Alt 12. Jan 2004, 11:27
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

cu.
mâxîmôv.

{KDT}
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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:01 Uhr.
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