Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   TObject ausgeben (https://www.delphipraxis.net/158251-tobject-ausgeben.html)

Mike_ 10. Feb 2011 15:12

Delphi-Version: 5

TObject ausgeben
 
Hallo liebe Delphigemeinde,

ich bin auf der Suche nach einem Befehl um "Sender:TObject" ausgeben zu lassen.

Der Grund ist, dass ich einen "prozessaufruf" simulieren möchten und ebend dieses TObject beim aufruf mitgegeben wird.

Sprich ich brauche den "Sendernamen".

Google zeigt mir keine Ergebnisse zum Thema "TObject ausgeben", "Delphi TOBject ausgeben" etc..

Danke im voraus :stupid:

webcss 10. Feb 2011 15:15

AW: TObject ausgeben
 
obwohl ich Deine Frage nicht so wirklich verstehe, versuch's doch mal mit
Delphi-Quellcode:
...
writeln(Sender.Classname);
...

Mike_ 10. Feb 2011 15:20

AW: TObject ausgeben
 
Undeclared identifier: 'sender'

Mit ShowMessage (self.sender.classname) klappt es ebenfalls nicht.

Es geht mir nur darum, eine Prozedur aufzurufen, welche sonst über ebend diesen "ASender: TObject" aufgerufen wird.

Daher möchte ich den Namen des Senders erhalten, um die Prozedur ausführen zu können.

himitsu 10. Feb 2011 15:25

AW: TObject ausgeben
 
Das kann nicht sein, denn du sagtest ja di willst ein "Sender:TObject" auswerten und demnach sollte es Sender geben.

PS: ClassName = Name der Klasse, auf welcher dein Objekt basiert

Mike_ 10. Feb 2011 15:38

AW: TObject ausgeben
 
Edit://
Mit asender.classname hat es nun funktioniert.
Hatte mein Kopf ebend auf Durchzug :oops:

Edit2://
Wie kann man nun diese dem Prozeduraufruf dieses Object mitgeben ?
Beispiel: Prozedur123(Classname:TObject, var1, var2)

Wenn ich den Namen einfach hineinschreibe klappt es nicht "undeclared identifier"
Mit dem Aufruf "Classname:TObject" ebenfalls nicht, obwohl ich dachte dass er nun die Klasse als Object nehmen kann...

Edit3://
Behoben indem ich die entsprechende Unit eingebunden habe.
Nun erhalte ich einen "TObject" und Classreference" incompatible types.

Aufruf versucht:

Prozedur(Classname, var1, var2)
Prozedur(Classname:TObject, var1, var2)

DeddyH 10. Feb 2011 15:41

AW: TObject ausgeben
 
Wieso gibst Du nicht den Sender weiter? Du brauchst ja eine Instanz und keinen Klassennamen, sofern ich Dich richtig verstanden habe. Bei Letzterem bin ich mir aber zugegebenermaßen nicht sicher.

Mike_ 10. Feb 2011 15:47

AW: TObject ausgeben
 
Weil dann "Types of actual and formal var parameters must be identical" kommt...

DeddyH 10. Feb 2011 15:49

AW: TObject ausgeben
 
Kannst Du mal ein bisschen Code zeigen?

Mike_ 10. Feb 2011 15:54

AW: TObject ausgeben
 
Edit//
Wobei das nur heißt dass meine übergebenen Parameter fehlerhaft sind !?


Delphi-Quellcode:
Prozedur(ASender:TObject; var var1, var2, var3: integer; var var4, var5: wideString; var var6: Integer);
[...]
und ich rufe diese wie folgt auf:

Delphi-Quellcode:
procedure ButtonClick(Sender:Tobject);
begin
Prozedur (Sender, 124, 412, 412, '412', '', 124)
end;
Kann doch nichts verkeht sein !?

himitsu 10. Feb 2011 15:56

AW: TObject ausgeben
 
Dann gibt esben statt
Delphi-Quellcode:
Sender
die Klasse weiter, welche benötigt wird,
so ala
Delphi-Quellcode:
(Sender as TTheClassName)
.

[add]
Das Sender ist OK, aber du übergibst Konstanten (deine Zahlen), wärend Variablen verangt werden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:13 Uhr.
Seite 1 von 3  1 23      

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