[Zope-it] Acquisition

Vincenzo Di Somma e.disomma@icube.it
Sat, 20 Oct 2001 09:01:16 +0200


Gianluca Di Carlo wrote:

> Salve a tutti, credevo di aver capito l'acquisizione, ma questo caso va=
=20
> oltre la mia comprensione. Ho questa struttura nelle directory:
>=20
> |--A
>=20
>    -methodA
>=20
>     |--B
>=20
>        -methodB
>=20
>         |--C
>=20
>            methodC
>=20
> Dentro alla dir B dal metodo methodB chiamo methodC e da qui dentro=20
> chiamo methodA. La cosa strana =E8 che dentro methodC non vedo methodA,=
=20
> mentre per acquisiszione dovrebbe essere visibile. Inoltre dentro=20
> methodC non vedo neanche le variabili di "sistema" tipo PARENTS o REQUE=
ST.
>=20
> Ho provato a chiamare da dentro MethodB in questo modo:
>=20
> <dtml-var "C.methodC()">
>=20
> oppure cos=EC:<dtml-var "C.A.methodC()"> ma in entrmbi i casi non funzi=
ona.
> Se uso dentro methodB questa sintassi invece tuttuo funziona:
>=20
> <dtml-with C>
>=20
>     <dtml-var methodC>
>=20
> </dtml-with>
>=20
> Il problema =E8 che al metodo chiamato devo passare dei parametri.
>=20
> Qual =E8 la differenza tra usare dtml-with e la sintassi "dir.metodo"?
>=20
> Grazie
>=20
> Gianluca Di Carlo
>=20
> Cosa mi sfugge?
>=20


Il problema di non vedere methodA da methodC dipende dal contesto in cui =
invochi methodC, sei sicuro che in quel contesto lo spazio dei nomi conte=
nga anche gli oggetti acquisiti?=20


In che modo chiami methodC ? La differenza tra dir.method e <dtml-with> e=
` che col primo invochi un metodo riferendo un oggetto acquisito nello sp=
azio spazio dei nomi corrente, nel secondo aggiungi uno spazio di nomi al=
lo stack.


--=20
Vincenzo Di Somma - Responsabile Ricerca e Sviluppo - Icube S.r.l.
Sede:   Via Ridolfi 15 - 56124 Pisa (PI), Italia
E-mail: e.disomma@icube.it              WWW: www.icube.it
Tel:    (+39) 050 97 02 07              Fax: (+39) 050 31 36 588