Ciao a tutti!
Vorrei creare tante TStringList ognuna delle quali avente nome diverso (passato come stringa) in modo che poi tramite la FindComponent riesco a referenziarmi...come posso fare?
Grazie mille!
Ciaooo!![]()
Ciao a tutti!
Vorrei creare tante TStringList ognuna delle quali avente nome diverso (passato come stringa) in modo che poi tramite la FindComponent riesco a referenziarmi...come posso fare?
Grazie mille!
Ciaooo!![]()
La soluzione puoi trovarla usando proprio la classe TStringList che, all'occorrenza, diventa un dizionario.
Al posto del metodo Add, puoi usare AddObject per inserire nella lista una stringa a cui associare un oggetto che, nel tuo caso, sarà un'istanza di TStringList.
Se dai un'occhiata alla Guida in linea, troverai anche i metodi e le proprietà di TStringList che ti consentono di risalire all'oggetto corrispondente ad una determinata stringa.
Il metodo FindComponent, dato che non è tendenzialmente performante, soprattutto se usato ripetutamente, andrebbe evitato anche quando si tratta di cercare componenti: sempre meglio usare una lista o una classe affine a cui aggiungere i riferimenti a componenti e controlli creati a runtime, oppure a designtime ricercandoli con FindComponent ma solamente la prima volta, provvedendo ad ispezionare la lista in seguito che conterrà solo i componenti e i controlli di interesse.
Ciao!![]()
MARCO BREVEGLIERI
Software and Web Developer, Teacher and Consultant
Home | Blog | Delphi Podcast | Twitch | Altro...
Grazie mille ma preferisco la soluzione classica (non tramite TStringList) in quanto creo poche istanze.
Per ora ho fatto cosi :
c : TComponent;
str : TStringList;
c := TComponent.Create(nil);
c.Name := 'nome';
str := TStringList(c);
A questo punto come posso accedere ai vari TStringList creati in precedenza?
La soluzione classica è inapplicabile e il codice che hai scritto non alcun senso (stai "castando" un componente generico a TStringListOriginariamente inviato da alanf1981
Grazie mille ma preferisco la soluzione classica (non tramite TStringList) in quanto creo poche istanze.
[...]
A questo punto come posso accedere ai vari TStringList creati in precedenza?).
Non vedo cosa c'è che non fa nel mio approccio, che continuo a suggerire.![]()
MARCO BREVEGLIERI
Software and Web Developer, Teacher and Consultant
Home | Blog | Delphi Podcast | Twitch | Altro...
Ops, hai ragione!
Ok scelgo il tuo metodo!![]()
Potresti farmi un esempio?
Mettiamo che voglio creare 20 TStringList con nome "str1", "str2", "str3", ...
Come dovrei fare?