Strange notation failure in 10.2 development

malkishtini at malkishtini at
Wed Apr 20 17:25:43 UTC 2022

Hi Fred,

Have you tried changing your class variable to instance var and run the same
test in dev? Just a way to trace the issue further.

The only difference that I noticed between OS10.2 RT and Dev version is that
when I run OS10.2 RT, I get a single processor in the task manager, while
when I run the same app using 10.2 Dev, I get 3 or 4 Omnis.exe (processors)
running in task manger.
I don't know if that has anything to do with the behavior you are seeing,
but I just thought to share it with you. 
Omnis did confirm that having multiple processors running for Omnis 10.2 dev
is a normal thing, it is because of multiprocessing.

BTW, I have not seen your issue before.


-----Original Message-----
From: omnisdev-en <omnisdev-en-bounces at> On Behalf Of
Fred Haislmaier
Sent: Tuesday, April 19, 2022 9:53 PM
To: omnisdev-en at
Subject: Strange notation failure in 10.2 development

Hello all,

I am scratching my head on some strange behavior, while converting some
Omnis 5.1 code to 10.2

I have an objectClass (objectA) that has a number of methods and also
instance and class variables.
One of the class variables (cMyObj) is of type object (objectB)

The first time the objectA is used, cMyObj is populated with an instance of
objectB Then each time objectA is instantiated, cMyObj is available.

If I run this command in my code using a runtime version of Studio 10.2 it
works multiple times.

Do $clib.$objects.objectA.$new().$myRoutine(100,50) Returns vNewValue

If I run the same code in a development version the code will work, at least
once, then it may or may not stop working.
When I step through the code I can interrogate cMyObj and see that it is set
to an instance of objectB and I can use the interface manager to see all the
public methods in cMyObj/objectB.

If I try to step into line 1 of $myRoutine, I trigger a notation error
saying that $myRoutine is not valid notation.

Has anyone run into this before?
Any idea why this might be happening?

It makes it very hard to debug code in dev mode when the behavior is
different than runtime.
Fred Haislmaier

Here is some code to better explain.

--- objectA ---

$construct - cMyObj is class variable of type Object
1. If isnull(cMyObj)
2.   Do $clib.$objects.objectB.$new() Returns cMyObj
3. End If

$myRoutine  ( 2 numeric parameters)
1. Do cMyObj.$addMe(pNum1,pNum2) Returns vNewValue

--- objectB ---

$addMe (takes 2 numeric parameters and returns the sum of the two)
1. Quit method pNum1 + pNum2

Privileged or confidential information may be contained in this message. If
you are not the addressee of this message please notify the sender by return
and thereafter delete the message, and you may not use, copy, disclose or
rely on the information contained in it. Internet e-mail may be susceptible
to data corruption, interception and unauthorised amendment for which
Gresham does not accept liability. Whilst we have taken reasonable
precautions to ensure that this e-mail and any attachments have been swept
for viruses, Gresham does not accept liability for any damage sustained as a
result of viruses. Statements in this message that do not relate to the
business of Gresham are neither given nor endorsed by the company or its
directors. Gresham Technologies plc Registered in England and Wales. Company
No. 01072032 Registered Office: Aldermary House, 10-15 Queen Street, London,
EC4N 1TX. Further information about Gresham Technologies can be found on our
Manage your list subscriptions at Start a new
message -> mailto:omnisdev-en at 

More information about the omnisdev-en mailing list