D
Dennis Misener
I am trying to use Ruby's WIN32OLE support to drive Mindjet's
Mindmanager.
Their Object Model reference shows the following method:
*** GetOffset Method ***
Returns the topic's position-offset relative to its parent.
expression.GetOffset(pxOffset, pyOffset)
expression Required. An expression that returns a Topic object.
pxOffset Required float *.
pyOffset Required float *.
My problem is how to the two floating point output values. See sample
below... Any help would be certainly appreciated. Thanks
---
require 'win32ole'
MAX_DEPTH=5
MM=WIN32OLE.new("Mindmanager.Application")
MM.visible=true
def randomMap node,label='Main',depth=5
node.text=label
depth.times do |index|
subnode=node.addSubtopic 'label'
subnode.invoke('getOffset',0.0,0.0) # How to get this to work???
p [
ffset,WIN32OLE::ARGV] # Seems to echo parameters
randomMap subnode,'%s %02d' % [label,index+1],rand(depth)
end
end
node=MM.activeDocument.centralTopic
randomMap node
---
Generates the following error:
[
ffset, [0.0, 0.0]] << mirrors the supplied inputs
G:/work/mindmanager/demo.rb:13:in `invoke': getOffset
(WIN32OLERuntimeError)
OLE error code:80040200 in MindManager.Application.6
Error: 'this topic is not able to execute the call'
HRESULT error code:0x80020009
Exception occurred.from C:demo.rb:13:in `randomMap'
from G:/work/mindmanager/demo.rb:11:in `times'
from G:/work/mindmanager/demo.rb:11:in `randomMap'
from G:/work/mindmanager/demo.rb:15:in `randomMap'
from G:/work/mindmanager/demo.rb:11:in `times'
from G:/work/mindmanager/demo.rb:11:in `randomMap'
from G:/work/mindmanager/demo.rb:20
Mindmanager.
Their Object Model reference shows the following method:
*** GetOffset Method ***
Returns the topic's position-offset relative to its parent.
expression.GetOffset(pxOffset, pyOffset)
expression Required. An expression that returns a Topic object.
pxOffset Required float *.
pyOffset Required float *.
My problem is how to the two floating point output values. See sample
below... Any help would be certainly appreciated. Thanks
---
require 'win32ole'
MAX_DEPTH=5
MM=WIN32OLE.new("Mindmanager.Application")
MM.visible=true
def randomMap node,label='Main',depth=5
node.text=label
depth.times do |index|
subnode=node.addSubtopic 'label'
subnode.invoke('getOffset',0.0,0.0) # How to get this to work???
p [
randomMap subnode,'%s %02d' % [label,index+1],rand(depth)
end
end
node=MM.activeDocument.centralTopic
randomMap node
---
Generates the following error:
[
G:/work/mindmanager/demo.rb:13:in `invoke': getOffset
(WIN32OLERuntimeError)
OLE error code:80040200 in MindManager.Application.6
Error: 'this topic is not able to execute the call'
HRESULT error code:0x80020009
Exception occurred.from C:demo.rb:13:in `randomMap'
from G:/work/mindmanager/demo.rb:11:in `times'
from G:/work/mindmanager/demo.rb:11:in `randomMap'
from G:/work/mindmanager/demo.rb:15:in `randomMap'
from G:/work/mindmanager/demo.rb:11:in `times'
from G:/work/mindmanager/demo.rb:11:in `randomMap'
from G:/work/mindmanager/demo.rb:20