Delphi-PRAXiS
Seite 2 von 4     12 34      

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)

mkinzler 29. Apr 2008 18:03

Re: Welche Komponente führt die Metode aus?
 
Sender.Classname

Fussball-Robby 29. Apr 2008 18:17

Re: Welche Komponente führt die Metode aus?
 
Delphi-Quellcode:
procedure TForm2.ThreadsExecute(Sender: TObject; Params: Pointer);
begin
  if Sender is TJvThread then
    ShowMessage((Sender as TJvThread).Name);
end;

//Oder Sender als TJvThread definieren

procedure TForm2.ThreadsExecute(Sender: TJvThread; Params: Pointer);
begin
    ShowMessage(Sender.Name);
end;
Das 2. kannst du natürlich nur benutzen, wenn die Sender ausschließlich TJvThreads sind.

Mfg

napsterxx 29. Apr 2008 18:26

Re: Welche Komponente führt die Metode aus?
 
Ja sind sie aber funkt einfach nicht

DeddyH 29. Apr 2008 18:32

Re: Welche Komponente führt die Metode aus?
 
Die Methodenparameter dürften wohl vorgegeben sein, also nimm besser die erste Variante.

napsterxx 29. Apr 2008 18:40

Re: Welche Komponente führt die Metode aus?
 
Delphi-Quellcode:
procedure TForm2.JvThread1Execute(Sender: TObject; Params: Pointer);
begin
  if Sender is TJvThread then
    ShowMessage((Sender as TJvThread).Name);
end;

procedure TForm2.Button2Click(Sender: TObject);
begin
  JvThread1.ThreadDialog := nil;
  JvThread1.Execute(self);
end;
Selbst das geht nicht

mkinzler 29. Apr 2008 18:42

Re: Welche Komponente führt die Metode aus?
 
Und welche Klasse gehört Sender nun an?

napsterxx 29. Apr 2008 18:57

Re: Welche Komponente führt die Metode aus?
 
Ich habe keine Ahnung. Es muss ja eigentlich TJvThread sein. Also ich klicke auf einen Button, danach wird JvThread1.Execute;

Und das wars ...

mkinzler 29. Apr 2008 19:03

Re: Welche Komponente führt die Metode aus?
 
Dann lass es dir doch anzeigen :zwinker:

napsterxx 29. Apr 2008 19:11

Re: Welche Komponente führt die Metode aus?
 
Zuerst musste mir verraten wie ;)
SHowMessage( Sender.ClassType.ClassName );

so habe ichs gemacht = Leere MSG Box

// So jetzt habe ichs TJvBaseThread
aber dann geht das nicht:

ShowMessage(( Sender as TJvBaseThread ).Name );

mkinzler 29. Apr 2008 19:14

Re: Welche Komponente führt die Metode aus?
 
Delphi-Quellcode:
ShowMessage( Sender.ClassName );
Ich nehme an das TJvThread von TJvBaseThread abstammt, dann dürfte es eigentlich keine Typenunverträglichkeit geben

Kennt die Klasse, die gewünschten Eigenschaften?


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:52 Uhr.
Seite 2 von 4     12 34      

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