xsharp.eu • "NoMethod" late bound call bug? (B2.10 - X# runtime , Vulcan dialect)
Page 1 of 1

"NoMethod" late bound call bug? (B2.10 - X# runtime , Vulcan dialect)

Posted: Thu Nov 28, 2019 9:43 am
by Thomas
Hi All,

since version 2.0.8.1 there is a different behaviour with the "NoMethod" method in late bound calls compared to version 2.0.7 respectively Vulcan. The method name is not provided any more as first parameter.
According to the Whatsnew-Documentation you did some changes to the "NoMethod" method in 2.0.8.0?
For example:

Code: Select all

PUBLIC CLASS SomeXsClass
	PUBLIC METHOD NoMethod()
                LOCAL nParams := PCount() AS INT
                ...
		LOCAL paramVal1 := _GETMPARAM(1) AS USUAL
		RETURN paramVal1
	
FUNCTION Test()
        LOCAL cResult AS STRING
        LOCAL oSomeClass := SomeXsClass{} AS USUAL
        
        cResult := oSomeClass:XXSomeMethod("Blablabla")  
        //cResult: "Blablabla", expected "XxSomeMethod"


Could you please check this?

Thomas

"NoMethod" late bound call bug? (B2.10 - X# runtime , Vulcan dialect)

Posted: Thu Nov 28, 2019 9:50 am
by robert
Thomas,

We changed this indeed. Vulcan had deviated from VO in this area. Vulcan added the method name to the parameters list.
VO did not do that.

To retrieve the name of the method you have to call NoMethod() now (or check RuntimeState.NoMethod)

Robert

"NoMethod" late bound call bug? (B2.10 - X# runtime , Vulcan dialect)

Posted: Thu Nov 28, 2019 1:43 pm
by Thomas
Hi Robert,

I understand...
But please consider to keep the old and maybe "wrong" vulcan behaviour when using the vulcan-dialect in X#, as there is an existing codebase already running on vulcan!

Thomas

"NoMethod" late bound call bug? (B2.10 - X# runtime , Vulcan dialect)

Posted: Thu Nov 28, 2019 2:11 pm
by robert
Thomas,
Thomas wrote: But please consider to keep the old and maybe "wrong" vulcan behaviour when using the vulcan-dialect in X#, as there is an existing codebase already running on vulcan!
I will see if I can change the runtime code to include the method name when the current dialect is Vulcan and to not include the method name when the current dialect is any of the other dialects.

Robert

"NoMethod" late bound call bug? (B2.10 - X# runtime , Vulcan dialect)

Posted: Thu Nov 28, 2019 3:11 pm
by Thomas
Robert, that would be great!

Thank you
Thomas