win 32 utils changenotify

L

lrlebron

I just downloaded and installed the win32utils installer. When I try to
run the sample script provide in changenotify.txt

require "win32/changenotify"
include Win32

# Wait for any writes to files in the C:\ drive.
filter = ChangeNotify::LAST_WRITE
cn = ChangeNotify.new("C:\\",true,filter)
cn.wait{ |s|
puts "Something changed"
puts "File: " + s.file_name
puts "Action: " + s.action

}

I get the following error.

:/ruby/lib/ruby/site_ruby/1.8/i386-msvcrt/win32/ipc.so: invalid
attribute name `recursive?' (NameError)
from c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in
`require'
from cjsample.rb:1

What am I doing wrong?

thanks,

Luis
 
D

Daniel Berger

I just downloaded and installed the win32utils installer. When I try to
run the sample script provide in changenotify.txt

require "win32/changenotify"
include Win32

# Wait for any writes to files in the C:\ drive.
filter = ChangeNotify::LAST_WRITE
cn = ChangeNotify.new("C:\\",true,filter)
cn.wait{ |s|
puts "Something changed"
puts "File: " + s.file_name
puts "Action: " + s.action

}

I get the following error.

:/ruby/lib/ruby/site_ruby/1.8/i386-msvcrt/win32/ipc.so: invalid
attribute name `recursive?' (NameError)
from c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in
`require'
from cjsample.rb:1

What am I doing wrong?

You'll need to upgrade to 0.4.2. You can either build from source or
download the .so file directly, rename it to "changenotify.so", and
install it under c:\ruby\lib\ruby\1.8\i386-mswin32\win32.

The .zip file is at
http://rubyforge.org/frs/download.php/14978/win32-changenotify-0.4.2.zip
The .so file is at
http://rubyforge.org/frs/download.php/14979/changenotify-0.4.2.so

Regards,

Dan
 
L

lrlebron

I downloaded the file and renamed it according to your instructions but
I am still getting the same error.


Luis
 
L

lrlebron

Thanks,

I acutally found out that I had 2 copies of changenotify.so in the ruby
folder. After deleting the older one it is working.

It works but it exits after a file change. Is it possible to
continuously monitor the folder?


thanks

Luis
 
D

Daniel Berger

Thanks,

I acutally found out that I had 2 copies of changenotify.so in the ruby
folder. After deleting the older one it is working.

It works but it exits after a file change. Is it possible to
continuously monitor the folder?

Sure thing:

cn.wait{ |s|
puts "Something changed"
puts "File: " + s.file_name
puts "Action: " + s.action
} while true

Regards,

Dan
 
L

lrlebron

Thanks for the help. I am still getting the following error when a file
event occurs.

Something changed
win32change.rb:11: undefined method `file_name' for #<Array:0x2cab5c8>
(NoMethodError)
from win32change.rb:9:in `wait'
from win32change.rb:9

Here's the script I am using.


Luis
 
D

Daniel Berger

Thanks for the help. I am still getting the following error when a file
event occurs.

Something changed
win32change.rb:11: undefined method `file_name' for #<Array:0x2cab5c8>
(NoMethodError)
from win32change.rb:9:in `wait'
from win32change.rb:9

Try this one:

cn.wait{ |arr|
arr.each{ |info|
p info.file_name
p info.action
}
} while true

Regards,

Dan
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,994
Messages
2,570,223
Members
46,810
Latest member
Kassie0918

Latest Threads

Top