Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Mehrere Komponenten per Code erstellen - Zugriffsproblem (https://www.delphipraxis.net/78610-mehrere-komponenten-per-code-erstellen-zugriffsproblem.html)

Yheeky 7. Okt 2006 22:29


Mehrere Komponenten per Code erstellen - Zugriffsproblem
 
Hi,

ich erstelle per Code mehrere ClientSocket-Komponenten. Dies sieht wiefolgt aus:

Delphi-Quellcode:
var I : smallInt;
    Client : TClientSocket;
begin
for I := 1 to 9 do
    begin
    Client := TClientSocket.Create(nil);
    Client.Name := 'Client' + IntToStr(I);
    end;
Wenn ich nun wiefolgt auf die Komponenten zugreifen möchte, funktioniert das nicht :-(

Delphi-Quellcode:
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;
Scheint so, als wären die Komponenten nicht global sichtbar...Was mache ich falsch?

mkinzler 7. Okt 2006 22:48

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.

Christian Seehase 7. Okt 2006 22:55

Re: Mehrere Komponenten per Code erstellen - Zugriffsproblem
 
Moin Christian,

Du gibts beim Create keinen Owner an.
In welchem Komponentenarray sollten sie dann sein?

Yheeky 7. Okt 2006 23:08

Re: Mehrere Komponenten per Code erstellen - Zugriffsproblem
 
Achso...dafür ist das :oops:

Dann ist´s klar :-)
Danke!

Christian Seehase 8. Okt 2006 00:59

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