Problem calling CLR method


#1

Hello,

I can’t call the object’s method, thought it exists.

My ruby script:


Let’s dump .Net methods

far.get_type.get_methods.each { |m| p m.name }

Try to call ‘RegisterTool’ method

begin
far.register_tool
rescue => err
p err
end

begin
far.RegisterTool
rescue => err
p err
end


I get such output:



“RegisterFiler”
“RegisterTool”

#<NoMethodError: undefined method register_tool' for #<FarNet::Far:0x000005c>> #<NoMethodError: undefined methodRegisterTool’ for
#FarNet::Far:0x000005c>


Not sure if this matters, but ‘far’ variable is set by the script host
scope.SetVariable(“far”, Far);

Thanks,

  • Alex

#2

Could you sent source code for FarNet class (RegisterTool method
declaration)?

Tomas


#3

Could you sent source code for FarNet class (RegisterTool method
declaration)?

http://code.google.com/p/farnet/source/browse/trunk/FarNet/FarNetIntf/Far.cs
http://code.google.com/p/farnet/source/browse/trunk/FarNet/FarNetPlugin/Far.h
http://code.google.com/p/farnet/source/browse/trunk/FarNet/FarNetPlugin/Far.cpp

Probably this is some how related to
http://www.ruby-forum.com/topic/175168 ?


#4

Btw, IronPython can call same method:

http://farnet.googlecode.com/files/IronPythonFar.1.0.35.rar
IronPythonFar\Scripts\calc.py


far.RegisterTool(ipy, “IronPython calculator”, calc,
FarManager.ToolOptions.F11Menus)