Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Assigned (https://www.delphipraxis.net/28555-assigned.html)

Pseudemys Nelsoni 26. Aug 2004 12:23

Re: Assigned
 
Danke für die Hilfe, ich glaub ich verstehs 8)

Wenn nicht, schreib ich in 24std nochmal *g*

Steve 26. Aug 2004 12:25

Re: Assigned
 
Bissl vereinfach passiert folgendes: TControl "empfängt" eine Message vom Betriebssystem, dass bspw. ein Mausklick ausgeführt wurde. TControl prüft, ob dieser klick "auf" sich bzw. in seinem Anzeigebereich ausgeführt wurde. Falls ja, wird "TControl.Click" ausgeführt. Innerhalb dieser 'Procedure' wiederum wird besagte Assigned(FOnClick)-Prüfung durchgeführt. ;)

mytar 26. Aug 2004 13:58

Re: Assigned
 
Du kannst folgende Varianten verwenden:

Delphi-Quellcode:
if OnFehler <> nil then
oder besser

Delphi-Quellcode:
if Assigned(OnFehler) then

Muetze1 26. Aug 2004 14:31

Re: Assigned
 
Moin!

Mal so nebenbei zu dem Source:

1. Ihr achtet doch so alle auf den Style: Warum wird innerhalb der Komponente auf die Property zugegriffen? Das ist doch mehr als böse und vor allem langsam...
2. Warum prüft If Assigned(OnError) Then nicht einfach die Variable die die Objektmethode enthält? (Also If Assigned(FOnError) Then??)
3. Warum ist in dem Edit kein Backspace erlaubt vom Code her?

MfG
Muetze1

Treffnix 26. Aug 2004 14:41

Re: Assigned
 
Zitat:

Zitat von Muetze1
Moin!

Mal so nebenbei zu dem Source:

1. Ihr achtet doch so alle auf den Style: Warum wird innerhalb der Komponente auf die Property zugegriffen? Das ist doch mehr als böse und vor allem langsam...
2. Warum prüft If Assigned(OnError) Then nicht einfach die Variable die die Objektmethode enthält? (Also If Assigned(FOnError) Then??)
3. Warum ist in dem Edit kein Backspace erlaubt vom Code her?

MfG
Muetze1

Der Code kommt doch nichtmal von hier, sondern von nem Tutorial bei delphitreff.
Die private Methode könnte ja OnError heissen ( ich weiss, ist nicht so ) :tongue:
Ist doch nur ein Beispiel, dessen Funktion mit der eigentlich Frage in diesem Thread gar nichts zu tun hat. Aber vielleicht braucht man ja mal ein Edit, in dem man nur Zahlen eingeben, aber nicht wieder löschen kann.

Chewie 26. Aug 2004 15:02

Re: Assigned
 
Langsamer ist der Zugriff aus das Property nicht, da der Zugriff auf Properties bereits zur Kompilierzeit und nicht erst zur Laufzeit ausgewertet wird.

Muetze1 26. Aug 2004 15:18

Re: Assigned
 
Moin!

In wie fern zur Compilerzeit? Wie sollte ich es mir denn vorstellen wenn ich per RTTI eine Property suche und dann drauf zugreife? Erkläre mir das mal bitte genauer...

Ansonsten meinte ich langsamer in dem Sinne, da manche eine Methode hinter einer Property definieren und somit ist es langsamer als der direkte Zugriff auf die Variable. Und genauso meine ich in dem Zusammenhang das gefährliche, wenn es eine Lese-Methode für die Property gibt und man darin noch andere Dinge macht die dann zu einer Call-Schleife führen können oder andere böse Dinge.

MfG
Muetze1

Chewie 26. Aug 2004 15:45

Re: Assigned
 
Zitat:

Zitat von Muetze1
Moin!

In wie fern zur Compilerzeit? Wie sollte ich es mir denn vorstellen wenn ich per RTTI eine Property suche und dann drauf zugreife? Erkläre mir das mal bitte genauer...

Die RTTI werden auch nur bei published-Properties angelegt und sind imho primär ein Hilfsmittel, um Dinge wie den Objektinspektor zu ermöglichen.

Zitat:

Zitat von Muetze1
Ansonsten meinte ich langsamer in dem Sinne, da manche eine Methode hinter einer Property definieren und somit ist es langsamer als der direkte Zugriff auf die Variable. Und genauso meine ich in dem Zusammenhang das gefährliche, wenn es eine Lese-Methode für die Property gibt und man darin noch andere Dinge macht die dann zu einer Call-Schleife führen können oder andere böse Dinge.

MfG
Muetze1

Man sollte den Aufbau der Klasse schon kennen. Klar, man arbeitet ja auch selbst im Innern ;)
Sicherer ist es natürlich schon, das Feld direkt anzusprechen, aber wenn man dem typischen Styleguide folgt, spart man sich so ein Zeichen zu tippen ;)

Muetze1 26. Aug 2004 16:13

Re: Assigned
 
Moin!

Zitat:

Zitat von Chewie
Zitat:

Zitat von Muetze1
Moin!

In wie fern zur Compilerzeit? Wie sollte ich es mir denn vorstellen wenn ich per RTTI eine Property suche und dann drauf zugreife? Erkläre mir das mal bitte genauer...

Die RTTI werden auch nur bei published-Properties angelegt und sind imho primär ein Hilfsmittel, um Dinge wie den Objektinspektor zu ermöglichen.

Ok, ich meinte auch die Published Eigenschaften. Und nun erklär mir mal bitte deine Aussage mit dem Aufbauen des Codes zur Compilerzeit und sozusagen wegnehmen der Read/Write Routinen (so hatte ich es verstanden) und dem Zugriff auf selbige zur Runtime...

MfG
Muetze1

DP-Maintenance 12. Sep 2004 09:08

DP-Maintenance
 
Dieses Thema wurde von "sakura" von "Sonstige Fragen zu Delphi" nach "Object-Pascal / Delphi-Language" verschoben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:37 Uhr.
Seite 2 von 3     12 3      

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