![]() |
Eigener Prozedur Eigenscahften (propertys) zuweisen
Hi
Ich wollte wissen, ob es möglich ist einer selbsterstellten Prozedur, Eigenschaften zu zu weisen. Ich Stelle mir das wie folgt vor:
Delphi-Quellcode:
Und der Aufruf
procedure tuewas(myID: integer)
begin // Wenn LabelCaption als Poperty gewählt ist // Label mit der ID myID suchen und Caption setzen end;
Delphi-Quellcode:
In diesem Beispiel soll also die Caption des Labels mit der ID 5 in Horst umgewandelt werden.
tuewas(5).LabelCaption := 'Horst';
Jetzt ist die Frage wie ich dieses ".LabelCaption" realisieren kann? Viel Dank! |
Re: Eigener Prozedur Eigenscahften (propertys) zuweisen
Öhm.. Das geht nicht. Was du suchst ist eine Funktion, die ein Objekt zurückgibt.
Grundsätzlich: Eine Prozedur gibt nichts zurück ;) |
Re: Eigener Prozedur Eigenscahften (propertys) zuweisen
Was du meinst, wäre z.Bsp. eine Funktion vom Typ TControl, die das über ID angesprochene Label liefert. Etwa so:
Delphi-Quellcode:
Finde_Das_Label_Mit_Nr muss natürlich geeignet implementiert sein. Bei einem derartigen Konstrukt besteht aber die Gefahr einer AV, sofern kein entsprechendes Control gefunden wird. Realisiere das Ganze besser anders. Wenn du etwas mehr Einblick in dein Prog gestattest, könte man evtl. weiterhelfen.
function MyControl(ID:integer):TControl;
begin result := TControl(Form1.Finde_Das_Label_Mit_Nr(ID)); end; |
Re: Eigener Prozedur Eigenscahften (propertys) zuweisen
Erstmal danke für die Antworten.
Ich werde das ganze dann anderss lösen. Ich sachaffe mir folgende Prozedur
Delphi-Quellcode:
Gruß
procedure tuewas(ID: integer,WAS,WIE: string);
begin if WAS = 'LabelCap' then Label(ID).Caption := WIE //Label z. B. per FindComponent suchen if WAS = 'irgendwas' then //... end; //Aufruf dann wie folgt tuewas(5,LabelCap,'Horst'); Martin |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:10 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