Had some unexpected time today (a holiday) such that I was able to tackle the
first item oleinfo:
* to document created feature request # 830 (#830 Add oleinfo scripts from
sandbox/rony/oleinfo,
https://sourceforge.net/p/oorexx/feature-requests/830/)
* committed with [r12746], changes can be seen at:
<http://sourceforge.net/p/oorexx/code-0/12746>
Changed the license in all files, updated readme.txt and test.rex (cater for Internet Explorer being
pulled from Windows eventually) accordingly.
---rony
On 20.11.2023 11:30, Rony G. Flatscher wrote:
Given some free time I would like to add the following things to ooRexx 5.1:
* the Windows oleinfo Rexx utilities from the sandbox
(https://sourceforge.net/p/oorexx/code-0/HEAD/tree/sandbox/rony/oleinfo/)
o planned for being placed as is in a new directory
ooRexx/samples/ole/oleinfo together with
a readme.txt file
o history: first introduced at the RexxLA symposium in 2004, cf.
<https://www.rexxla.org/presentations/2004/ronyf1.pdf>
o reasoning: many times it is very difficult, if not impossible to get at
the published OLE
interfaces of Windows COM/OLE objects including those returned by
invocations of methods
or fetching attribute values (they may not be registered in the
registry, hence not
discoverable); it is nice to have e.g. reference like printouts of the
OLE interfaces
(methods, attributes, events)
* add the DBus support from the sandbox
<https://sourceforge.net/p/oorexx/code-0/HEAD/tree/sandbox/rony/dbus/> to
ooRexx if the target
platform has DBus support available (originally a message system on Linux
exploited by many
distributions)
o history:
+ Flatscher R.G., "D-Bus Language Bindings for ooRexx", International
Rexx Symposium
2011:
<https://www.rexxla.org/presentations/2011/201112-DBus4ooRexx.pdf>
+ Margiol S., "DBusooRexx", International Rexx Symposium 2015:
<https://www.rexxla.org/presentations/2015/DBusPresentation_Margiol.pdf>
+ Flatscher R.G., LinuxCon Europe 2015: "dbusoorexx Bringing the
Power of D-Bus to Your
Fingertips"
+ Flatscher R.G., "The ooRexx DBus Bindings for Linux, MacOSX and
Windows",
International Rexx Symposium 2016:
<https://www.rexxla.org/presentations/2016/201608-dbusoorexx.pdf>
* multithreading trace ("MT trace")
o history: Jean-Louis has offered a very helpful and interesting means in
form of a patch,
that has not yet been applied; due to some discussions I had expected
that an alternative
means becomes available, but this has not materialized; after a couple
of years it is time
to give the ooRexx developers sound means into their hands; as designed
Jean-Louis'
version will have to be activated by setting an environment variable
before starting the
MT program, hence it is meant for explicitly debugging (no new
MT-related trace options
would have to be defined at all)
+ one aim when doing so is to come up with a BIF (suggestions?) that
allows for
retrieving the thread number, the activation number, the variable
pool number and lock
status, which the documentation of that BIF would explain: this
should allow e.g. Gil
to use this information to experiment with Rick's idea in
non-explicit-debugging runs
# this will cause these counters/this information to be always
maintained,
irrespectively whether MT trace is active or not
o reasoning: for debugging multithreaded programs it is necessary to get
at the respective
context invocation information, without it certain multithreaded
problems cannot be
analyzed/debugged
* allow invoking the garbage collector for debugging purposes
o history and reasoning: for debugging purposes in the context of the
Java bridge it became
necessary to make sure that the Rexx garbage collector ran (background:
Java changed the
finalization logics and to debug the new Java implementations for
releasing cached Rexx
objects and to test correct execution of their uninit methods); without
a means to invoke
the ooRexx garbage collector this is simply not possible; it is very
likely that such
debugging needs occur in other contexts where native information
systems interacting with
ooRexx (e.g. using ooRexx for scripts) need to be able to
check/analyze/debug correct
releases of cached ooRexx objects for debugging purposes; without such
a function this
simply cannot be achieved; as running the garbage collector (in every
programming
language) is a very expensive operation this needs appropriate
documentation; invoking
existing garbage collectors is possible in popular programming
languages such as Java's
java.lang.System.gc() (cf.
https://docs.oracle.com/javase/8/docs/api/java/lang/System.html#gc--)
or .Net/CLR's
System.GC.collect() (cf.
https://learn.microsoft.com/en-us/dotnet/api/system.gc.collect#System_GC_Collect,
https://learn.microsoft.com/en-us/dotnet/standard/garbage-collection/fundamentals)
Any comments?
---
Also we should plan to release the current 5.1 version of ooRexx as soon as possible for at least
the following reasons:
* make the current bug fixes available in the form of an officially released
package: many
companies do not allow beta software to be installed, used, hence the need
for a officially
release if we want ooRexx to remain a viable option
* make new features available like the new UTF-8 support in the
WindowsClipboard class
* keep the knowledge about creating releases up-to-date, allow for improving,
maybe even fully
automizing the release steps as much as possible
* show the public that development has been going on
---rony
_______________________________________________
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel