Newsgroup: it.comp.lang.delphi
Titolo: Frames --> Componente-->package

E' possibile trasformare un frame in un componente e poi a 
sua volta metterlo in un package...
Se io faccio nuovo componente vcl il tframe o il 
tcustomframe non ci sono nell'elenco degli ancestor...
da quanto ho visto il frame e' un componente visuale(e' 
simile allo user control di vb/c#?) ma non trovo il modo di 
metterlo in un package...questa cosa mi servirebbe per 
praticita' e non dover tutte le volte addare i pas dei 
frames che ho creato.
ps
tutto questo con D2006
ciao && grazie

Aragorn ha scritto:

Se non ricordo male, è possibile inserire Frame in un package, poi basta 
registrarlo come un normale componente e utilizzarlo a mo' di controllo 
personalizzato.
Hai verificato questa strada?
Ciao,
   Marco.
-- 
MARCO BREVEGLIERI
  (
http://www.marco.breveglieri.name
)
     Non hai la possibilità di scaricare Turbo Delphi Explorer?
     Te lo spedisco io!! [
http://www.marco.breveglieri.name/?p=48
]

 Hai verificato questa strada?
no ora ci provero'... grazie!
ora ho altri problemi:
uno nel construttore della form dovrei settare delle property che sono
del frame ma purtroppo (almeno credo) succede che prima si crea il
construttore del frame e poi quello della form e io assegno quei valori
che mi servono nel create del frame ma mi arrivano dei valori nulli...
mi sa che sbaglio qualcosa... inoltre se metto le property nella
sezione published non dovrebbero comparire nell'objectinspector(non mi
appaiono!!!)?
mmm rileggendo non si capisce nulla di quello che ho scritto :-(
comunque fattosta che che ho dovuto fare una procedura che richiamo dal
create della form che ha il frame per settare i parametri che
provengono dalle property... ma cosi' non mi pare che vada bene!
Eppoi un'altra cosa c'e' il modo di bloccare tutto quanto quello che
c'e' all'interno del frame? quando lo metto in una form a parte che
faccio fatica a selezionarlo (devo premere esc) e se cerco di prenderlo
col puntatore del mouse vado a spostare i componenti all'interno del
frame oppure mi si allarga(questo lo risolto con i limiti di width e
height)perke' non sono loccati come i componenti non visuali??
ciauz


-- 
Mauro Falzari
"Chi domanda comanda".
  (anonimo)

 adottare "la form dentro la form" ?
perke'
1-non ci avevo pensato.
2-non sapevo che si potesse.
3-pensavo che il frame fosse simile a un form alla fine.
ora mi documentero' su sta cosa di un form dentro una form.
comunque sto facendo un componente per la ricerca incrementale a cui
passo la query su quale tabella dovra' fare la ricerca e pensavo che il
frame andasse bene.
ciao grazie di tutto!!

 frame andasse bene.
aspetta, forse sono io che non ho capito bene il tuo problema. Lascia stare 
la cosa della form dentro la form (anche se è molto semplice da realizzare, 
credo di aver capito che non c'entra nulla).
Il tuo componente avrà bisogno di interagire con l'utente mediante una 
form? Allora, quando ne avrà bisogno, creerà e mostrerà la form in maniera 
modale semplicemente così:
procedure XYZ;
var
  myForm: TMyForm;
  i: Integer;
begin
  myForm := TMyForm.Create(nil);
  try
  //eventuale impostazione di proprietà della form
    myForm.Proprietà1 := ...
    myForm.Proprietà2 := ...
    myForm.ShowModal; //ShowModal restituisce già un risultato,
                      //documentati su ModalResult
  //eventuale lettura di altri "risultati" passati in output dalla form
    i := myForm.Proprietà3;
  finally
    myForm.Free;
  end
end;
-- 
Mauro Falzari
"...loro sì che han preso il sole vero, 
io invece sono stato alle Lampados..."
  (anonimo, 18/9/2000)

 form? 
no, :-D
il robo che devo fare e' tipo una dbeditbox(tmempo fa avevo 
postato come fare una txtedit con autompletamento e alla 
fine ho preso si il codice del link che mi ha passato 
morde[tnks]) e ho creato un frame dove ci sono
1- dbedit che da agganciare al dataset e il quale assumera 
un codice (che sarebbe una chiave esterna) dalla ricerca 
effettuata.
2- un edit box con un menu a tendina a scomparsa che mostra 
una ricerca sulla descrizione e una volta scelta va a 
mettere il codice nella dbedit.
ecco pensavo di mettere published la proprita' del 
dataset(che sara' nella form) a cui punta la dbedit e la 
query sulla tabella in cui viene effettuata la ricerca... mi 
hanno chiesto sto sistema perke' dicono che formmodali 
rallentano l'operatore quando inserisce dei dati. :-D
Siccome dovevo fare dei test, non ho fatto tutta la 
procedura del new component(senza l'aiuto visuale ci avrei 
messo trentanni)... per vedere se era possibile ho messo 
tutto dentro un frame e alla fine a parte quella cosa che 
non riuscivo a creare il pkg(ancora non ho provato) e avevo 
difficolta a passare dei dati al frame al momento della 
creazione della maschera(perke' quel componente non 
effettuera' sempre la stessa ricerca sulla stessa 
tabella-->dipende in che form lo mettero') siccome 
funzionava gia' mi son detto perke' non fare un componente 
direttamente dal frame...
ciao e grazie per le risp!

 registrarlo come un normale componente e utilizzarlo a mo' di controllo 
riesco a inserirlo nel package compila,builda e installa ma 
non me lo registra nella component palette :-( :-( ma come 
e' messo?
ciao

 registra nella component palette :-( :-( ma come e' messo?
A ok! ce lo fatta e' diventato un componente e ora i dati 
che gli devo passare glieli passo tramite le published 
dall'obj inspector e non ha tutte quelle storie che mi 
stavano antipatiche del frame... cioe' che si ridimensionava 
e potevo spostare/settare i componenti che lo formavano.
emm il problema era questo:
invece di scrivere cosi':
scrivevo senza dichiarare procedure Register; e delphi non 
so per quale arcano motivo mica mi dava errore...
[errato]
implementation
procedure Register;
begin
   RegisterComponents('Samples', [TincrementalSearch]);
end;
[corretto]
procedure Register;
implementation
procedure Register;
begin
   RegisterComponents('Samples', [TincrementalSearch]);
end;
ciao ciao