![]() |
Mehrere Komponenten per Code erstellen - Zugriffsproblem
Hi,
ich erstelle per Code mehrere ClientSocket-Komponenten. Dies sieht wiefolgt aus:
Delphi-Quellcode:
Wenn ich nun wiefolgt auf die Komponenten zugreifen möchte, funktioniert das nicht :-(
var I : smallInt;
Client : TClientSocket; begin for I := 1 to 9 do begin Client := TClientSocket.Create(nil); Client.Name := 'Client' + IntToStr(I); end;
Delphi-Quellcode:
Scheint so, als wären die Komponenten nicht global sichtbar...Was mache ich falsch?
for i := 0 to Application.ComponentCount - 1 do
if Application.Components[i] is TClientSocket then if TClientSocket(Application.Components[i]).Name = 'Client1' + User then begin ShowMessage('Komponente sichtbar'); Exit; end; |
Re: Mehrere Komponenten per Code erstellen - Zugriffsproblem
Also du mußt entweder die Form fragen, nicht die Applikation oder lege besser die Referenzen nach dem Erzeugen in einen Array ab.
|
Re: Mehrere Komponenten per Code erstellen - Zugriffsproblem
Moin Christian,
Du gibts beim Create keinen Owner an. In welchem Komponentenarray sollten sie dann sein? |
Re: Mehrere Komponenten per Code erstellen - Zugriffsproblem
Achso...dafür ist das :oops:
Dann ist´s klar :-) Danke! |
Re: Mehrere Komponenten per Code erstellen - Zugriffsproblem
Moin Christian,
der Owner dient eigentlich Verwaltung der Lebensdauer von Objekten, soll heissen: Gibt man einen Owner an, so ist dieser "verantwortlich" dafür, dass Objekt wieder freizugeben, lässt man ihn weg muss man sich selber darum kümmern. Nicht zu verwechseln mit dem Parent bei visuellen Komponenten: Die Komponente wird immer relativ zum Parent angezeigt. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:39 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