|
it
newsgroups
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
Using Eval to set dynamic object names
out to me This code works : var_ktml = "textarea2" Set ktml_textarea2 = new ktml4 Eval("ktml_" & var_ktml).Init var_ktml This code doesn't : var_ktml = "textarea2" Set Eval("ktml_" & var_ktml) = new ktml4 Eval("ktml_" & var_ktml).Init var_ktml Can anyone point out the error of my ways ? Cheers, Mark <webt***@gt4web.co.uk> wrote in message
Show quote news:1152786649.208524.278840@i42g2000cwa.googlegroups.com... Simple, stop using Eval.> I've ran into a little trouble with Eval, hoping someone can point it > out to me > > This code works : > > var_ktml = "textarea2" > Set ktml_textarea2 = new ktml4 > Eval("ktml_" & var_ktml).Init var_ktml > > This code doesn't : > > var_ktml = "textarea2" > Set Eval("ktml_" & var_ktml) = new ktml4 > Eval("ktml_" & var_ktml).Init var_ktml > > > Can anyone point out the error of my ways ? > Use an array or even Scripting.Dictionary to collect and lookup objects Show quote > Cheers, > Mark > webt***@gt4web.co.uk wrote:
Show quote > I've ran into a little trouble with Eval, hoping someone can point it Sure. You see that line that starts with "Eval ... "? That's the problem> out to me > > This code works : > > var_ktml = "textarea2" > Set ktml_textarea2 = new ktml4 > Eval("ktml_" & var_ktml).Init var_ktml > > This code doesn't : > > var_ktml = "textarea2" > Set Eval("ktml_" & var_ktml) = new ktml4 > Eval("ktml_" & var_ktml).Init var_ktml > > > Can anyone point out the error of my ways ? > right there*. Try this instead: dim var_ktml,ktml_objs, ktml_obj set ktml_objs = createobject("scripting.dictionary") var_ktml = "textarea2" Set ktml_obj = new ktml4 ktml_objs.Item("ktml_" & var_ktml) = ktml_obj When you want to use the object: Set ktml_obj = ktml_objs.Item("ktml_" & var_ktml) ktml_obj.Init var_ktml ktml_objs.Item("ktml_" & var_ktml) = ktml_obj Bob Barrows * http://blogs.msdn.com/ericlippert/archive/2003/11/01/53329.aspx -- Microsoft MVP -- ASP/ASP.NET Please reply to the newsgroup. The email account listed in my From header is my spam trap, so I don't check it very often. You will get a quicker response by posting to the newsgroup. |
|||||||||||||||||||||||