Delphi-PRAXiS
Seite 4 von 4   « Erste     234   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Welche Komponente führt die Metode aus? (https://www.delphipraxis.net/112921-welche-komponente-fuehrt-die-metode-aus.html)

himitsu 4. Mai 2008 11:19

Re: Welche Komponente führt die Metode aus?
 
Kennt TJvBaseThread .Name nicht (ist also erst in TJvThread definiert), oder ist .Name in TJvBaseThread nur nicht sichtbar (in TJvBaseThread nicht als public/published definiert)?

Wenn es zwar definiert, aber nicht sichtbar ist, dann belaß es doch bei
(Sender as TJvThread).Name oder TJvThread(Sender).Name .

napsterxx 4. Mai 2008 11:37

Re: Welche Komponente führt die Metode aus?
 
ich weis es nicht, jedoch kann ich nicht TJvBaseTHread.Name schreieben ohne eine Fehlermeldung zu bekommen

mkinzler 4. Mai 2008 11:49

Re: Welche Komponente führt die Metode aus?
 
Man kann auch mit einem Fahrrad nicht Fliegen.
Delphi-Quellcode:
(Sender as TJvThread).Name

napsterxx 4. Mai 2008 12:15

Re: Welche Komponente führt die Metode aus?
 
Das geht doch nicht, das haben wir doch schon durchgekaut

TJvThread > TJvBaseThread > TThread > TObject

himitsu 4. Mai 2008 12:54

Re: Welche Komponente führt die Metode aus?
 
wie/wo ist den nun .Name definiert?

( in TThread existiert es noch nicht und die Jedis hab ich hier nicht installiert. :oops: )

mkinzler 4. Mai 2008 12:56

Re: Welche Komponente führt die Metode aus?
 
Zitat:

Zitat von napsterxx
Das geht doch nicht, das haben wir doch schon durchgekaut

TJvThread > TJvBaseThread > TThread > TObject

Wenn es so wäre würde es ja funktionieren. Versuch mal einen harten Cast:
Delphi-Quellcode:
TJvThread( Sender).Name;

napsterxx 4. Mai 2008 13:00

Re: Welche Komponente führt die Metode aus?
 
Zitat:

TJvThread( Sender).Name
Resulttiert in einer Zugriffsverletzung

mkinzler 4. Mai 2008 13:06

Re: Welche Komponente führt die Metode aus?
 
Diese Komponenten liegen auch nicht in der selben Veerbungshierarchie:
Delphi-Quellcode:
TJvThread = class(TJvComponent)

napsterxx 4. Mai 2008 13:13

Re: Welche Komponente führt die Metode aus?
 
OK habe es anders, mit einer Komponente aber merheren Threads gelöst, aber mich würde es trotzdem interessieren wieso es nciht geht

mkinzler 4. Mai 2008 13:18

Re: Welche Komponente führt die Metode aus?
 
Weil wie man sieht, ein TJvThread kein TJvBaseThread ist.
Es sieht eher aus, als ob ein Thread mehrer BaseThreads in einer Threadliste beinhalten kann.
Wäre FSender nicht privat, könnte man so vielleicht auf den Thread schließen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:51 Uhr.
Seite 4 von 4   « Erste     234   

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