--- In [email protected], "entropyreduction"
<alancampbelllists+ya...@...> wrote:
> > > > I did try your
> > > > comPluginDemoScriptFileSysObjDotSyntaxForEach.powerpro and it did
> > > > seem to work, so I don't know why my script doesn't work with
> > > > today's version.
>
> --- In [email protected], "Sheri" <sherip99@> wrote:
> >
> > > > carrying com.version .72 unfortunately). BTW, I think in addition
> > > > to having ability to set the unicode enablers, we should also
> > > > have functions to retrieve the current settings.
> > >
> > > Sigh. Okay.
>
> comPlugin0.72_091201.zip in
>
> http://tech.groups.yahoo.com/group/power-pro/files/0_TEMP_/AlansPluginProvisional/
>
> com.unicode_status()
> returns a two-characters string, each char 1 or 0, first if unicode args
> allowed, second if unicode strings returned
>
>
> > > I could add some sort of option triggered by another
> > > configuration service
> > >
> > > com.params_are_strings(0/1)
> > >
> > > or
> > >
> > > com.params("string")
> > > com.params() ;; to discontinue
> >
> > That wouldn't work in this Search function b/c only two of the
> > four arguments are strings, the other two are boolean.
>
> com.param_type("s"); can take any of the letters listed in
> 13.6 The type_spec Argument in docs
> second letter (r, v, blank) optional
> applies to all parameters encountered in any invoke (i.e.
> method/put/get)
> stays in force until com.param_type with no args or null string
> called, or until com unloaded
>
> (a) Something fancier, essentially taking same type_spec argument
> as the _typed servicies, could be done, easily, but not sure it
> would have any point: it would only be relevant for a particular
> invoke, so it gets clumsy 'cause you'd have to call it over and
> over for every different metod/put/get.
>
> (b) I wonder if in the nest for info 9one can extract about an
> IDispatch there isn't something that tells you the type of each
> parameter of a function (pTypeInfo->GetNames gets names of those
> parameters, so far haven't found if their types are published).
(b) sounds nice, the others I wouldn't bother with.
Another idea might be something along of the lines of optional tagged
arguments, where the tag is a typespec prefixed and suffixed by some obscure
control characters. e.g.,
appRef.Search("\x05sv\x05"++mysearch,"\x05bv\x05"++wholeword, ;;+
"\x05bv\x05"++casesensitive, "\x05sv\x05"++myreplace)
If an argument doesn't start with the control character, do what is done now,
"guess" at the type.
>
> > > >
> > > > I did try your
> > > > comPluginDemoScriptFileSysObjDotSyntaxForEach.powerpro and it did
> > > > seem to work, so I don't know why my script doesn't work with
> > > > today's version.
> >
> > >
> > > Then I have to see a script that doesn't work to diagnose.
> >
> > Relevant portion is:
> >
> > com.return_unicode_strings(1)
> > com.unicode_args_allowed(1)
> > local r=com.method_typed(myselect, "Search", "s b b s ", ;;+
> > unicode.new(chgVec[i,1]), wholeword, casesensitive, ;;+
> > unicode.new(chgVec[i,2]))
>
> Aha. Maybe "s " is overriding check for unicode.
> Will look and see.
>
> > r.get_object_description shows r is "Objects" The count of replacements is
> > r.count. In the case of 11/30 version that count is zero.
> >
> > I also tried it with com.return_unicode_strings(0) just in case having it
> > enabled caused some bad interaction. But still fails using today's version.
> > Unicode arguments work fine with version dated 11/25.
>
> > The part that tests return of unicode (which also fails b/c it debugs ansi
> > text) is:
> >
> > com.return_unicode_strings(1)
> > win.debug(myselect.contents) ;;should debug a unicode handle
>
> Don't know why that's so. contents is defintely supposed to
> return a BSTR?
win.debug(myselect.contents, "***"++com_type++"***")
shows that com_type is "string"
myselect.contents continues to debug as ANSI despite enabling unicode returns,
and any high characters show as question marks.
>
> > > > Although Powerpro auto-localcopy does work when sending a com
> > > > handle to another Powerpro function, what I really want is to
> > > > return a local handle via quit(handle). Using
> > > > v=com.localcopy(appRef), if I quit v, it is the string "OK". If I
> > > > quit(appRef), when I try to use it on the other end I get ERROR:
> > > > com.method: Object handle, isn't. Can just avoid locals.
> > >
> > > Sounds like another error in localcopy. Will check later.
>
> What happens if you use
>
> Function xxx(appRef)
> (no call to localcopy)
> ....
> quit(appRef)
>
> comPlugin0.72_091201.zip: fixed localcopy (if it was broken:
> comPluginDemoScriptFileSysObjDotSyntaxForEach.powerpro has a
> Function testLocalCopy, which seems to work okay, and did work
> okay, so dunno what was happening there)
Will play with that later, but sounds strange to call xxx with appRef when xxx
is going to create appRef using com.create_object.
Regards,
Sheri