AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Kann ein Objekt seinen Namen ausgeben?

Ein Thema von delfie · begonnen am 23. Mär 2014 · letzter Beitrag vom 5. Apr 2014
Antwort Antwort
Popov
(Gast)

n/a Beiträge
 
#1

AW: Kann ein Objekt seinen Namen ausgeben?

  Alt 23. Mär 2014, 17:14
kam dann daher, dass ich der Meinung war, dass die Objekt-Variable eigentlich ein Zeiger ist.
Das ist es ja auch. Du hast dich vielleicht etwas kompliziert ausgedrückt, denn eigentlich war ich von anfang an dabei dir zu sagen, dass bei var a: TObject; a eigentlich nur ein Integerwert ist. Siehe:
Delphi-Quellcode:
var
  a: TObject;
begin
  a := TObject.Create;
  ShowMessage(IntToStr(Integer(a)));

  a.Free;
end;
Deshalb klappt das auch was Uwe Raabe geschieben hat:
Delphi-Quellcode:
var
  a: TObject;
  b: TObject;
begin
  a := TObject.Create;
  b := a;
end;
a und b zeigen auf das gleiche Objekt, weil a nur eine Adresse ist und b die Adresse kopiert hat. Die Instanz wurde erstellt und die Adresse a zugewiesen. Aber keiner verbietet es die an b weiter zu geben.

EDIT:

Deshalb klappt auch das:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  Btn: TButton;
  Btn2: TButton;
begin
  if Sender is TButton then
  begin
    Btn := Sender as TButton;
    //oder
    //Btn := TButton(Sender);

    ShowMessage(Btn.ClassName);

    Btn2 := Btn;
    Btn2.Caption := Btn2.ClassName;
  end;
end;
EDIT2:

Um das ganze noch lustiger zu machen:
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var
  Btn: TButton;
  Int: Integer;
begin
  if Sender is TButton then
  begin
    Btn := Sender as TButton;
    Int := Integer(Btn);
    ShowMessage('Wert von Int: ' + IntToStr(Int) + '; Name von Button: '  + TButton(Int).Name);
  end;
end;

Geändert von Popov (23. Mär 2014 um 17:31 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


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 15:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz