![]() |
Aus Komponente auf Namen zugreifen
Hallo!
Ich schreibe gerade an einer Komponente. Sie ist vererbt von TLabel. Nun möchte ich den Namen der Komponente auslesen (z.B. Objekt5). Auf sachen wie z.B. left und Top habe ich zugriff, nur nicht auf Name. Beispiele: funzt:
Delphi-Quellcode:
funktioniert nicht:
Left:=x;
Top:=y; Font.Color:=schrift; Color:=hintergrund; Caption:=n;
Delphi-Quellcode:
Diese Meldung bekomme ich:
n:=Name;
Zitat:
|
Re: Aus Komponente auf Namen zugreifen
Funktioniert self.Name?
|
Re: Aus Komponente auf Namen zugreifen
nein, funktioniert leider nicht. Auch schon probiert.
Edit: Da kommt dan diese meldung: Zitat:
|
Re: Aus Komponente auf Namen zugreifen
Wo befindet sich der Code? (Welche Methode?)
|
Re: Aus Komponente auf Namen zugreifen
Ave,
also wenn ich mir von TLabel eine Kompo ableite (D7)
Delphi-Quellcode:
geht der Zugriff auf Name problemlos.
type
TMyLabel = class(TLabel) public constructor Create(AOwner : TComponent); override; end; implementation constructor TMyLabel.Create(AOwner: TComponent); begin inherited; Name := 'TEST'; end; Wo hast Du es den eingebaut? |
Re: Aus Komponente auf Namen zugreifen
Hier ein Teil des Codes (nur mit der betroffenen Prozedur):
Delphi-Quellcode:
Hab das ganze mit dem Komponenten Experten erstellt und dann meinen Senf hinzugefügt
unit Day;
interface uses SysUtils, Classes, Controls, StdCtrls, Graphics; type TDay = class(TLabel) private { Private-Deklarationen } protected { Protected-Deklarationen } public { Public-Deklarationen } procedure rename(name2:String); published { Published-Deklarationen } end; procedure Register; implementation procedure Register; begin RegisterComponents('Eigene Objekte', [TDay]); end; procedure rename(name2:String); var i:Integer; n:String; begin try i:=length(Name2); n:=self.name; <---- Hier ist die Fehlermeldung . . . usw. end; end. |
Re: Aus Komponente auf Namen zugreifen
Hallo,
und funktionierts so:
Delphi-Quellcode:
procedure TDay.rename(name2:String); <---- Hier ist die Änderung
var i:Integer; n:String; begin try i:=length(Name2); n:=Name; <---- Hier ist die Fehlermeldung <---- Hier ist die Änderung . . . usw. end; |
Re: Aus Komponente auf Namen zugreifen
Ave,
es muss auch
Code:
heissen, sonst deklarierst Du keine Methode der Klasse TDay, sondern einfach eine Prozedur.
procedure [b]TDay.[/b]rename(name2:String);
|
Re: Aus Komponente auf Namen zugreifen
Wenn rename eine Methode der klasse wäre, müßte es gehen. Mich wundert aber das er die anderen Eigenschaften so findet. Gibt es vielleicht Variablen mit den Bezeichnungen?
|
Re: Aus Komponente auf Namen zugreifen
nein, gibt es nicht.
Es soll nacher in einem Projekt aufgerufen werden können. Kann mir jemand schreiben wie ich das umschreiben müsste, damit es funktioniert, und ich es dennoch im Späteren Projekt ausführen kann? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:30 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