![]() |
Name einer Klasse "direkt" erhalten
Hallo,
gibt es eine Möglichkeit, und falls ja welche, um an den Namen einer Klasse zu gelangen? z. B.: Ich habe eine Klasse
Delphi-Quellcode:
. Ich würde nun gerne den Namen ermitteln.
TMyClass = packed class (TObject)
Also in dem Falle "TMyClass". Nun könnte ich es einfach machen und eine Varible definieren und dann mittels ClassName den Namen ermitteln. Also so:
Delphi-Quellcode:
Nur gibts auch etwas um auf die Zwischenvariable verzichten zu können? Also irgendwas in der Art:
var
MyClass: TMyClass; begin S := MyClass.ClassName; end;
Delphi-Quellcode:
begin
S := GetClassName(TMyClass); end; |
AW: Name einer Klasse "direkt" erhalten
![]() Das ist ein Class Property eine Class Function. :zwinker: Du hast diese Variable nicht initialisiert ... ich hoffe du freust dich über die Exception. :angle2: (bei einer lokalen Variable) Zitat:
Delphi-Quellcode:
oder wie währe es mit
function GetClassName(C: TClass): string;
begin Result := C.ClassName; end;
Delphi-Quellcode:
? :lol:
S := TRttiContext.Create.GetType(TMyClass).Name;
|
AW: Name einer Klasse "direkt" erhalten
Zitat:
Zitat:
Zitat:
|
AW: Name einer Klasse "direkt" erhalten
Hoffentlich ist dir die erste Zeile aufgefallen. :angle:
*nur zur Sicherheit nochmal nachfrag* :oops: Ups, die alte RTTI vergessen.
Delphi-Quellcode:
uses TypInfo;
S := UTF8ToString(PTypeInfo(TypeInfo(TStrings)).Name); // vor D2009 könnte man das UTF8ToString auch weglassen Ich hab nie verstanden, warum das TypeInfo nicht gleich PTypeInfo zurückgibt, sondern nur 'nen blöden Pointer.. :gruebel: |
AW: Name einer Klasse "direkt" erhalten
Zitat:
Ich weiss grad nicht was du meinst |
AW: Name einer Klasse "direkt" erhalten
Delphi-Quellcode:
S := KlassenVariable.ClassName;
S := TKlasse.ClassName; |
AW: Name einer Klasse "direkt" erhalten
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:20 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