[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

WIN32OLE -- missing sub-object members

djlewis

12/19/2006 2:31:00 PM

I'm trying to connect to this set of Windows Scripting objects...

http://www.dbpoweramp.com/developer-scripti...

It seems to go OK for dMCScripting.Converter, but the other subobjects
come up empty -- they are there, but I can't see or use any of the
members. Here's code to show the problem...

require 'win32ole'

cnv = WIN32OLE::new("dMCScripting.Converter")
mp3 = WIN32OLE::new("dMCScripting.Mp3Settings")
ogg = WIN32OLE::new("dMCScripting.OggSettings")
wav = WIN32OLE::new("dMCScripting.WaveSettings")
wma = WIN32OLE::new("dMCScripting.WMASettings")

p = Hash.new
p[ :cnv] = cnv.ole_get_methods
p[ :mp3] = mp3.ole_get_methods
p[ :ogg] = ogg.ole_get_methods
p[ :wav] = wav.ole_get_methods
p[ :wma] = wma.ole_get_methods

p.each do |k, v|
printf( "%s, %d members\n", k, v.size)
v.each {|x| printf( " %s\n", x.to_s)}
end

printf( "dMCScripting.Converters.VolumeNormalize = %d\n",
cnv.VolumeNormalize)
printf( "dMCScripting.Mp3Settings.Frequency = %d\n", mp3.Frequency)

------------------

wav, 0 members
wma, 0 members
cnv, 7 members
VolumeNormalize
PreserveTags
DeleteSourceFiles
ConvertToFolder
ToFolder
GetCompressions
WasConvError
mp3, 0 members
ogg, 0 members
dMCScripting.Converters.VolumeNormalize = 0
dbPowerAmp2.rb:24:in `method_missing': unknown property or method
`Frequency' (WIN32OLERuntimeError)
HRESULT error code:0x80020006
Unknown name. from dbPowerAmp2.rb:24

--------------------
Accessing the dMCScripting object in VBA/Excel works fine, or at least,
everything is present and accounted for in the object browser.

I realize this could be a problem with the dMC dll (and I'll ask them
too), but even if so, any help diagnosing that would be gratefully
accepted. Of course, if I'm doing something wrong in ruby -- quite
possible as I'm just starting with it -- I'd love to hear about that.

Thanks. --David