>Maybe I misstated my problem. I have an editbox on the screen. I want to add another editbox to the screen based on an existing editbox already on the screen. I don't want to instatiate another editbox based on a class from a library, but rather from the first editbox in its current state. When I create the second editbox on the fly the existing editbox's properties have already been modified or set that I may want to use as they currently exist. Basically, I'd like to be able to say something like:
>
> THISFORM.ADDOBJECT("edtMemo2", "THISFORM.edtMemo1")
>
>By the way, this code doesn't work because it can't find a class named THISFORM.edtMemo1 in any library. I tried it without the quotation marks around THISFORM.edtMemo1 as well...
>
>Jim
Basically, if I undesrtood you right, you want to create a clone of your editbox, which almost all properties to be the same (I suspect, top, left and name properties must be different). Then here is an idea:
local lcClass, lcClasslib, lnI, luValue
lcClass = thisform.myFirstObject.class
lcClassLib = thisform.myFirstObject.classlib
thisform.NewObject("mySecondObject",m.lcClass,m.lcClassLib)
=amembers(laProps,thisform.myFirstObject)
for lnI1=1 to alen(laProps)
if not inlist(lower(laProps[m.lnI]),'class','classlib','top','left','name')
try
luValue = getpem(thisform.myFirstObject, laProps[m.lnI])
store m.luValue to ("thisform.mySecondObject." + laProps[m.lnI])
catch
=Messagebox(laProps[lnI]+" property is read-only")
endtry
endif
next
This is from the top of my head and not tested. But hopefully you can use it. I guess there could be more elegant and simple method to create a clone.
If it's not broken, fix it until it is.
My Blog