他プラットホームとの互換性なんかいらん!
漏れはWindowsの上だけで快適に使いたいんだ!
Windows独自の技術的な話題や、
Windows版だけのrubyの問題について語るスレ。
■ruby
http://www.ruby-lang.org/ja/
■ruby関連スレ
・Rubyについて Part 22 (本スレ?)
http://pc8.2ch.net/test/read.cgi/tech/1147897915/
・Ruby初心者スレッドPart7
http://pc8.2ch.net/test/read.cgi/tech/1154077799/l50
探検
【ActiveScript】RubyをWindowsで使うスレ【GUI】
レス数が900を超えています。1000を超えると表示できなくなるよ。
1デフォルトの名無しさん
2006/08/08(火) 19:08:09817814
2012/02/01(水) 23:45:40.64 >>816
あぁっ、そういうことでしたか。
32bit版cscriptで動作しました。どうもです。
やりたかったのは、Paper Plane xUI, 秀丸エディタから
rubyを使うことだったのですが、どちらも64bitアプリでした。
32bit版でrubyスクリプトが使えるようになりました。
あぁっ、そういうことでしたか。
32bit版cscriptで動作しました。どうもです。
やりたかったのは、Paper Plane xUI, 秀丸エディタから
rubyを使うことだったのですが、どちらも64bitアプリでした。
32bit版でrubyスクリプトが使えるようになりました。
818デフォルトの名無しさん
2012/03/03(土) 08:50:23.56 Rubyの話と言うよりWin32OLE(COM)の話になるのですが
Excelの名前付き範囲を取得する方法ってありますか?
VBAだと
Range('name')
ってやるだけで取れるのですが、Win32OLEで取得する方法が分からない状態です。
Excelの名前付き範囲を取得する方法ってありますか?
VBAだと
Range('name')
ってやるだけで取れるのですが、Win32OLEで取得する方法が分からない状態です。
819デフォルトの名無しさん
2012/03/03(土) 18:06:24.07820デフォルトの名無しさん
2012/03/05(月) 10:10:36.79 それです
821デフォルトの名無しさん
2012/05/23(水) 16:08:32.35 あげ
822デフォルトの名無しさん
2012/08/10(金) 14:20:08.95 あ
823uy
2012/08/15(水) 20:19:30.82 z
824デフォルトの名無しさん
2012/08/29(水) 17:17:34.54 実行されているスクリプトファイルと同じディレクトリにあるスクリプトファイルを require したいとき
$LOAD_PATH.unshift File.dirname(File.expand_path __FILE__)
としますが、Cygwin 版 Ruby で ruby "D:/test/script.rb" として実行すると $LOAD_PATH に
"D:/test" が追加され、このときコロンがパスの区切りとして解釈されて require に失敗していしまいます。
$LOAD_PATH.unshift File.dirname((/-cygwin\z/ =~ RUBY_PLATFORM) ? `/usr/bin/cygpath -au "#{__FILE__}"`.chomp : File.expand_path(__FILE__))
とすると POSIX 形式のパスになりコロンが含まれないので require は成功しますが、外部プロセスを
呼び出すので遅くなってしまいます。
Win32API を使用して cygwin_conv_to_full_posix_path を呼び出せば外部プロセスをを呼び出す必要
はありませんが、スクリプトの作成で毎回このようなコードを書くのは面倒です。
みなさんはどのようにしていますか?
$LOAD_PATH.unshift File.dirname(File.expand_path __FILE__)
としますが、Cygwin 版 Ruby で ruby "D:/test/script.rb" として実行すると $LOAD_PATH に
"D:/test" が追加され、このときコロンがパスの区切りとして解釈されて require に失敗していしまいます。
$LOAD_PATH.unshift File.dirname((/-cygwin\z/ =~ RUBY_PLATFORM) ? `/usr/bin/cygpath -au "#{__FILE__}"`.chomp : File.expand_path(__FILE__))
とすると POSIX 形式のパスになりコロンが含まれないので require は成功しますが、外部プロセスを
呼び出すので遅くなってしまいます。
Win32API を使用して cygwin_conv_to_full_posix_path を呼び出せば外部プロセスをを呼び出す必要
はありませんが、スクリプトの作成で毎回このようなコードを書くのは面倒です。
みなさんはどのようにしていますか?
825デフォルトの名無しさん
2012/08/29(水) 20:48:59.18 1.9系: require_relative './hoge_lib.rb'
1.8系: require File.expand_path("hoge_lib.rb", File.dirname(__FILE__))
で良いのでなかろうか。
1.8系: require File.expand_path("hoge_lib.rb", File.dirname(__FILE__))
で良いのでなかろうか。
826デフォルトの名無しさん
2012/08/29(水) 23:22:53.42827デフォルトの名無しさん
2012/09/02(日) 17:02:16.34 WinでRuby 1.9環境にスイッチしようと思ったけど
kakasiがみつからない。
古いライブラリってメンテされなくなってるの結構みかけるね。
いまの代替品はなにかいいのある?
kakasiがみつからない。
古いライブラリってメンテされなくなってるの結構みかけるね。
いまの代替品はなにかいいのある?
828デフォルトの名無しさん
2012/09/03(月) 01:29:07.02 kokesi
829デフォルトの名無しさん
2012/10/14(日) 23:16:19.16 1.9.3-p286
830デフォルトの名無しさん
2012/11/11(日) 23:17:27.36 1.9.3-p327
831デフォルトの名無しさん
2012/11/14(水) 06:14:34.19 おまえら最大化ボタンおしてる?
最大化ボタンって必要ないよな!
最大化ボタンって必要ないよな!
832デフォルトの名無しさん
2012/11/23(金) 06:59:50.74 HTAアプリケーションから別のHTAアプリケーションにデータを送りたい時は
どうやればいいでしょうか?
どうやればいいでしょうか?
833デフォルトの名無しさん
2012/12/04(火) 05:17:34.54834デフォルトの名無しさん
2012/12/04(火) 05:19:16.34 Linux板より。
@インストールしただけで選民思想
Aやっていることはwindowsと同じ。しかもめんどくさくなっただけ。
Bコマンド打ち込んでプロだと勘違い
C新参に対して黙ってwindowsでも使ってろと間口を狭める
Dカーネルいじればいいだろと無茶を要求
Elinux開発者とのずれを認識できていない
Fwineを使うくせにlinuxを再現しようとする動きがあるとたたく
Gプログラミングできないのにソース要求する
H何でもオープンでないと、気に食わないエセ共産主義者
IWindowsユーザに馬鹿にされてることに気づいていない
JAndroidの事例をを引っ張り出して、「linuxは普及している」と虚勢を張る
KAndroidのセキュリティ問題を指摘されると、AndroidはLinuxではないと言い出す。
L結局普及してない点を指摘されると、「別に普及しなくていいよ」と思考停止
M三度の飯よりアップデートが大好き、コンパイルが大好き、カスタマイズ大好き
NOSを弄ることがゲームと化しているので、ゲームソフトが必要ない
@インストールしただけで選民思想
Aやっていることはwindowsと同じ。しかもめんどくさくなっただけ。
Bコマンド打ち込んでプロだと勘違い
C新参に対して黙ってwindowsでも使ってろと間口を狭める
Dカーネルいじればいいだろと無茶を要求
Elinux開発者とのずれを認識できていない
Fwineを使うくせにlinuxを再現しようとする動きがあるとたたく
Gプログラミングできないのにソース要求する
H何でもオープンでないと、気に食わないエセ共産主義者
IWindowsユーザに馬鹿にされてることに気づいていない
JAndroidの事例をを引っ張り出して、「linuxは普及している」と虚勢を張る
KAndroidのセキュリティ問題を指摘されると、AndroidはLinuxではないと言い出す。
L結局普及してない点を指摘されると、「別に普及しなくていいよ」と思考停止
M三度の飯よりアップデートが大好き、コンパイルが大好き、カスタマイズ大好き
NOSを弄ることがゲームと化しているので、ゲームソフトが必要ない
835デフォルトの名無しさん
2012/12/04(火) 08:42:33.24 >>833
ruby 1.9.3p327および cygwinの例(Windows 2000)
Administrator@computer_name ~
$ which perl
/cygdrive/c/Perl/bin/perl
Administrator@computer_name ~
$ which ruby
/usr/bin/ruby
Administrator@computer_name ~
$ ruby --version
ruby 1.9.3p327 (2012-11-10 revision 37606) [i386-cygwin]
ruby 1.9.3p327および cygwinの例(Windows 2000)
Administrator@computer_name ~
$ which perl
/cygdrive/c/Perl/bin/perl
Administrator@computer_name ~
$ which ruby
/usr/bin/ruby
Administrator@computer_name ~
$ ruby --version
ruby 1.9.3p327 (2012-11-10 revision 37606) [i386-cygwin]
836デフォルトの名無しさん
2013/01/19(土) 00:08:13.48 1.9.3-p374
837デフォルトの名無しさん
2013/01/21(月) 21:59:01.07 2.0.0-rc1
838デフォルトの名無しさん
2013/01/22(火) 00:25:24.59 dl2を使ったコールバックのWin向けのサンプルコードってどこかにありませんか?
リファレンスマニュアルのサンプルコードはunix向けだし、肝心のbindが書いていないし・・・
リファレンスマニュアルのサンプルコードはunix向けだし、肝心のbindが書いていないし・・・
839デフォルトの名無しさん
2013/01/22(火) 14:19:10.42 こんな感じとか
require 'dl/import'
require 'dl/types'
module CBTest
extend DL::Importer
dlload 'user32.dll'
include DL::Win32Types
typealias "LPARAM", "void*"
extern "BOOL EnumWindows(void*, LPARAM)", :stdcall
WNDENUMPROC = bind("BOOL EnumFunc(HWND, LPARAM)", :stdcall) do |hwnd, obj|
DL.dlunwrap(obj).call(hwnd)
end
end
CBTest::EnumWindows(CBTest::WNDENUMPROC, DL.dlwrap(proc {|hwnd| p hwnd; 1 }))
require 'dl/import'
require 'dl/types'
module CBTest
extend DL::Importer
dlload 'user32.dll'
include DL::Win32Types
typealias "LPARAM", "void*"
extern "BOOL EnumWindows(void*, LPARAM)", :stdcall
WNDENUMPROC = bind("BOOL EnumFunc(HWND, LPARAM)", :stdcall) do |hwnd, obj|
DL.dlunwrap(obj).call(hwnd)
end
end
CBTest::EnumWindows(CBTest::WNDENUMPROC, DL.dlwrap(proc {|hwnd| p hwnd; 1 }))
840838
2013/01/23(水) 07:52:41.60 ありがとう
>DL.dlunwrap(obj).call(hwnd)
のところで
>`dlunwrap': can't convert DL::CPtr into Integer (TypeError)
って出る・・・って調べていったら1.9だと通るけど1.8+dl2だとダメなのか
なんじゃそりゃ・・・orz
>DL.dlunwrap(obj).call(hwnd)
のところで
>`dlunwrap': can't convert DL::CPtr into Integer (TypeError)
って出る・・・って調べていったら1.9だと通るけど1.8+dl2だとダメなのか
なんじゃそりゃ・・・orz
843838
2013/02/04(月) 08:00:57.45 長文失礼します
どうにも行き詰まってしまったので質問させてください
環境はruby 1.8 or 1.9+dl2+wxruby2です
>>839氏のサンプルを元に:stdcall、:temporal共に意図した動作をすることを確認しました
しかし、wxrubyと組み合わせて使おうとするとエラーが出てしまいます
やりたいことは
ttp://www.michaelnygard.com/blog/2009/01/ # Rubyの例
ttp://wiki.wxpython.org/HookingTheWndProc # Pythonの例
で、Windowsのメッセージをトリガーに処理をしたいです
コードは書き途中ですが
>type test.rbw
#!/usr/bin/env ruby
# encoding: utf-8
require 'dl/import'
require 'dl/types'
require 'wx'
module Win32
GWL_WNDPROC = -4
extend DL::Importer
dlload 'user32.dll'
include DL::Win32Types
typealias('LONG', 'long')
typealias('LRESULT', 'long')
typealias('WPARAM', 'void*')
typealias('LPARAM', 'void*')
typealias('WNDPROC', 'void*')
extern 'LONG SetWindowLong(HWND, int, LONG)', :stdcall
WND_PROC1 = bind("LRESULT WindowProc(HWND, UINT, WPARAM, LPARAM)", :temporal)
WND_PROC2 = bind("LRESULT WindowProc(HWND, UINT, WPARAM, LPARAM)", :stdcall){ p "call WND_PROC2" } # ここが呼ばれても嬉しくない
end
どうにも行き詰まってしまったので質問させてください
環境はruby 1.8 or 1.9+dl2+wxruby2です
>>839氏のサンプルを元に:stdcall、:temporal共に意図した動作をすることを確認しました
しかし、wxrubyと組み合わせて使おうとするとエラーが出てしまいます
やりたいことは
ttp://www.michaelnygard.com/blog/2009/01/ # Rubyの例
ttp://wiki.wxpython.org/HookingTheWndProc # Pythonの例
で、Windowsのメッセージをトリガーに処理をしたいです
コードは書き途中ですが
>type test.rbw
#!/usr/bin/env ruby
# encoding: utf-8
require 'dl/import'
require 'dl/types'
require 'wx'
module Win32
GWL_WNDPROC = -4
extend DL::Importer
dlload 'user32.dll'
include DL::Win32Types
typealias('LONG', 'long')
typealias('LRESULT', 'long')
typealias('WPARAM', 'void*')
typealias('LPARAM', 'void*')
typealias('WNDPROC', 'void*')
extern 'LONG SetWindowLong(HWND, int, LONG)', :stdcall
WND_PROC1 = bind("LRESULT WindowProc(HWND, UINT, WPARAM, LPARAM)", :temporal)
WND_PROC2 = bind("LRESULT WindowProc(HWND, UINT, WPARAM, LPARAM)", :stdcall){ p "call WND_PROC2" } # ここが呼ばれても嬉しくない
end
844838
2013/02/04(月) 08:01:50.28 class MyApp < Wx::App
def on_init
MyFrame.new.show
end
end
class MyFrame < Wx::Frame
def initialize
super(nil, -1)
@oldWndProc = Win32.SetWindowLong(get_handle(), Win32::GWL_WNDPROC, Win32::WND_PROC1){ callback_func } # こっちは例外発生
#@oldWndProc = Win32.SetWindowLong(get_handle(), Win32::GWL_WNDPROC, Win32::WND_PROC2) # こっちはWin32内の関数が呼ばれる
end
def callback_func(*args)
p "call WND_PROC1"
end
end
MyApp.new.main_loop
>ruby test.rbw
test.rbw:23:in `show': undefined method `call' for nil:NilClass (NoMethodError)
from test.rbw:23:in `on_init'
from test.rbw:36:in `main_loop'
from test.rbw:36:in `<main>'
そこはnilじゃないし、callメソッドが無いってお前は何を(ry
例外の内容が意味不明でお手上げ状態です。よろしくお願いします
def on_init
MyFrame.new.show
end
end
class MyFrame < Wx::Frame
def initialize
super(nil, -1)
@oldWndProc = Win32.SetWindowLong(get_handle(), Win32::GWL_WNDPROC, Win32::WND_PROC1){ callback_func } # こっちは例外発生
#@oldWndProc = Win32.SetWindowLong(get_handle(), Win32::GWL_WNDPROC, Win32::WND_PROC2) # こっちはWin32内の関数が呼ばれる
end
def callback_func(*args)
p "call WND_PROC1"
end
end
MyApp.new.main_loop
>ruby test.rbw
test.rbw:23:in `show': undefined method `call' for nil:NilClass (NoMethodError)
from test.rbw:23:in `on_init'
from test.rbw:36:in `main_loop'
from test.rbw:36:in `<main>'
そこはnilじゃないし、callメソッドが無いってお前は何を(ry
例外の内容が意味不明でお手上げ状態です。よろしくお願いします
845デフォルトの名無しさん
2013/02/04(月) 08:29:16.63 MyFrame.new.show でエラーだろ
MyFrame.new がマジでnil
MyFrame.new がマジでnil
846デフォルトの名無しさん
2013/02/04(月) 09:10:45.74 typealias('LONG', 'long')
typealias('LRESULT', 'long')
typealias('WPARAM', 'long')
typealias('LPARAM', 'long')
typealias('WNDPROC', 'void*')
typealias('HWND', 'long')
extern 'LRESULT SetWindowLong(HWND, LONG, WNDPROC)', :stdcall
typealias('LRESULT', 'long')
typealias('WPARAM', 'long')
typealias('LPARAM', 'long')
typealias('WNDPROC', 'void*')
typealias('HWND', 'long')
extern 'LRESULT SetWindowLong(HWND, LONG, WNDPROC)', :stdcall
847838
2013/02/04(月) 22:39:43.13 レスありがとうございます
>>845
それが
- MyFrame.new.show
+ frame = MyFrame.new
+ p frame
+ frame.show
として実行すると
>ruby test.rbw
#<MyFrame:0xa92180>
test.rbw:26:in `show': undefined method `call' for nil:NilClass (NoMethodError) # 26はframe.showの行
from test.rbw:26:in `on_init'
from test.rbw:39:in `main_loop'
from test.rbw:39:in `<main>'
と>>844と同じ例外が出て???です。nilだったらnilって出力されますよね?
>>846
あ、SetWindowLongのexternが変でしたね。extern / typealiasの書き方がおかしいのかと思っていじって直していませんでした
お手数をおかけします。typealiasとexternを>>846の通りに直してみましたが同様の例外が発生します
現在のコード
-typealias('WPARAM', 'void*')
-typealias('LPARAM', 'void*')
+typealias('WPARAM', 'long')
+typealias('LPARAM', 'long')
-
+typealias('HWND', 'long')
-extern 'LONG SetWindowLong(HWND, int, LONG)', :stdcall
+extern 'LRESULT SetWindowLong(HWND, LONG, WNDPROC)', :stdcall
自分の知らない何かを根本的に勘違いしているのだろうか・・・
>>845
それが
- MyFrame.new.show
+ frame = MyFrame.new
+ p frame
+ frame.show
として実行すると
>ruby test.rbw
#<MyFrame:0xa92180>
test.rbw:26:in `show': undefined method `call' for nil:NilClass (NoMethodError) # 26はframe.showの行
from test.rbw:26:in `on_init'
from test.rbw:39:in `main_loop'
from test.rbw:39:in `<main>'
と>>844と同じ例外が出て???です。nilだったらnilって出力されますよね?
>>846
あ、SetWindowLongのexternが変でしたね。extern / typealiasの書き方がおかしいのかと思っていじって直していませんでした
お手数をおかけします。typealiasとexternを>>846の通りに直してみましたが同様の例外が発生します
現在のコード
-typealias('WPARAM', 'void*')
-typealias('LPARAM', 'void*')
+typealias('WPARAM', 'long')
+typealias('LPARAM', 'long')
-
+typealias('HWND', 'long')
-extern 'LONG SetWindowLong(HWND, int, LONG)', :stdcall
+extern 'LRESULT SetWindowLong(HWND, LONG, WNDPROC)', :stdcall
自分の知らない何かを根本的に勘違いしているのだろうか・・・
848デフォルトの名無しさん
2013/02/05(火) 07:34:07.89 同じコードをコピペして試すと違う例外が出た
c:/ruby/lib/ruby/1.9.1/dl/func.rb:92:in `call': can't convert DL::TempFunction into Integer (TypeError)
from c:/ruby/lib/ruby/1.9.1/dl/func.rb:92:in `call'
from wxprob.rb:18:in `SetWindowLong'
from wxprob.rb:31:in `initialize'
from wxprob.rb:25:in `new'
from wxprob.rb:25:in `on_init'
from wxprob.rb:38:in `main_loop'
from wxprob.rb:38:in `<main>'
c:/ruby/lib/ruby/1.9.1/dl/func.rb:92:in `call': can't convert DL::TempFunction into Integer (TypeError)
from c:/ruby/lib/ruby/1.9.1/dl/func.rb:92:in `call'
from wxprob.rb:18:in `SetWindowLong'
from wxprob.rb:31:in `initialize'
from wxprob.rb:25:in `new'
from wxprob.rb:25:in `on_init'
from wxprob.rb:38:in `main_loop'
from wxprob.rb:38:in `<main>'
849848
2013/02/05(火) 07:35:33.98 ちなみにバージョン
ruby 1.9.3p362 (2012-12-25) [i386-mingw32]
(Windows 8 64bit)
ruby 1.9.3p362 (2012-12-25) [i386-mingw32]
(Windows 8 64bit)
850839
2013/02/05(火) 10:26:29.62 コールバックの呼ばれるタイミングがSetWindowLongの呼び出しタイミングとは違うので
temporalだとうまくブロックを渡せないのかな?
それならGWL_USERDATAにProcやMethodをdlwrapしてSetWindowLongで格納、
stdcallのbindのブロック内でGWL_USERDATAからGetWindowLongして
dlunwrapしてcallするのがよいのでは?
...
WND_PROC2 = bind("LRESULT WindowProc(HWND, UINT, WPARAM, LPARAM)", :stdcall){|hwnd, msg, wp, lp|
DL.dlunwrap(GetWindowLong(hwnd, GWL_USERDATA)).call(hwnd, msg, wp, lp)
}
...
Win32.SetWindowLong(get_handle(), Win32::GWL_USERDATA, DL.dlwrap(method(:callback_func)))
@oldWndProc = Win32.SetWindowLong(get_handle(), Win32::GWL_WNDPROC, Win32::WND_PROC2)
...
temporalだとうまくブロックを渡せないのかな?
それならGWL_USERDATAにProcやMethodをdlwrapしてSetWindowLongで格納、
stdcallのbindのブロック内でGWL_USERDATAからGetWindowLongして
dlunwrapしてcallするのがよいのでは?
...
WND_PROC2 = bind("LRESULT WindowProc(HWND, UINT, WPARAM, LPARAM)", :stdcall){|hwnd, msg, wp, lp|
DL.dlunwrap(GetWindowLong(hwnd, GWL_USERDATA)).call(hwnd, msg, wp, lp)
}
...
Win32.SetWindowLong(get_handle(), Win32::GWL_USERDATA, DL.dlwrap(method(:callback_func)))
@oldWndProc = Win32.SetWindowLong(get_handle(), Win32::GWL_WNDPROC, Win32::WND_PROC2)
...
851デフォルトの名無しさん
2013/02/10(日) 13:52:02.49 1.9.3-p385
852838
2013/02/11(月) 23:02:53.21 長文すみません。ソースを貼るので長くなります
>>850
レスありがとうございます
そのコードでコールバック関数が呼ばれるようになりました
が、"DL.dlunwrap(GetWindowLong(hwnd, GWL_USERDATA))"が
callback_func以外のオブジェクトを返す現象が発生します
Ruby本体の問題かと思って思い切ってmingw32の最新版にして
みたらまた走らなくなった・・・
OSはWinXP x86 SP3でwxruby 2.0.1。rubyは1.8.7と1.9.2
>type test.rbw
require 'dl/import'
require 'dl/types'
require 'wx'
module Win32
GWL_WNDPROC = -4
GWL_USERDATA = -21
extend DL::Importer
dlload 'user32.dll'
include DL::Win32Types
typealias('LONG', 'long')
typealias('LRESULT', 'long')
typealias('WPARAM', 'long')
typealias('LPARAM', 'long')
typealias('WNDPROC', 'void*')
typealias('HWND', 'long')
extern 'LRESULT SetWindowLong(HWND, LONG, WNDPROC)', :stdcall
extern 'LONG GetWindowLong(HWND, int)', :stdcall
WND_PROC1 = bind("LRESULT WindowProc(HWND, UINT, WPARAM, LPARAM)", :stdcall){|hwnd, msg, wp, lp|
DL.dlunwrap(Win32.GetWindowLong(hwnd, GWL_USERDATA)).call(hwnd, msg, wp, lp)
}
end
>>850
レスありがとうございます
そのコードでコールバック関数が呼ばれるようになりました
が、"DL.dlunwrap(GetWindowLong(hwnd, GWL_USERDATA))"が
callback_func以外のオブジェクトを返す現象が発生します
Ruby本体の問題かと思って思い切ってmingw32の最新版にして
みたらまた走らなくなった・・・
OSはWinXP x86 SP3でwxruby 2.0.1。rubyは1.8.7と1.9.2
>type test.rbw
require 'dl/import'
require 'dl/types'
require 'wx'
module Win32
GWL_WNDPROC = -4
GWL_USERDATA = -21
extend DL::Importer
dlload 'user32.dll'
include DL::Win32Types
typealias('LONG', 'long')
typealias('LRESULT', 'long')
typealias('WPARAM', 'long')
typealias('LPARAM', 'long')
typealias('WNDPROC', 'void*')
typealias('HWND', 'long')
extern 'LRESULT SetWindowLong(HWND, LONG, WNDPROC)', :stdcall
extern 'LONG GetWindowLong(HWND, int)', :stdcall
WND_PROC1 = bind("LRESULT WindowProc(HWND, UINT, WPARAM, LPARAM)", :stdcall){|hwnd, msg, wp, lp|
DL.dlunwrap(Win32.GetWindowLong(hwnd, GWL_USERDATA)).call(hwnd, msg, wp, lp)
}
end
853838
2013/02/11(月) 23:03:27.17 class MyApp < Wx::App
def on_init
MyFrame.new.show
end
end
class MyFrame < Wx::Frame
def initialize
super(nil, -1)
Win32.SetWindowLong(get_handle(), Win32::GWL_USERDATA, DL.dlwrap(method(:callback_func)))
@oldWndProc = Win32.SetWindowLong(get_handle(), Win32::GWL_WNDPROC, Win32::WND_PROC1)
end
def callback_func(*args)
p "callback func"
end
end
MyApp.new.main_loop
def on_init
MyFrame.new.show
end
end
class MyFrame < Wx::Frame
def initialize
super(nil, -1)
Win32.SetWindowLong(get_handle(), Win32::GWL_USERDATA, DL.dlwrap(method(:callback_func)))
@oldWndProc = Win32.SetWindowLong(get_handle(), Win32::GWL_WNDPROC, Win32::WND_PROC1)
end
def callback_func(*args)
p "callback func"
end
end
MyApp.new.main_loop
854838
2013/02/11(月) 23:04:35.21 >ruby -v
ruby 1.9.2p136 (2010-12-25 revision 30365) [i386-mswin32]
>ruby test.rbw
"callback func"
〜
"callback func"
test.rbw:21:in `block in <module:Win32>': undefined method `call' for "l!":String (NoMethodError)
from c:/Dev/ruby19/lib/ruby/1.9.1/dl/func.rb:102:in `call'
from c:/Dev/ruby19/lib/ruby/1.9.1/dl/func.rb:102:in `block in bind'
from test.rbw:39:in `call'
from test.rbw:39:in `on_run'
from test.rbw:39:in `main_loop'
from test.rbw:39:in `<main>'
#「"l!":String」は実行するたびに変わります。Arrayになったり他のオブジェクトになったり・・・
>ruby -v
ruby 1.9.3p385 (2013-02-06) [i386-mingw32]
>ruby test.rbw
test.rbw:26:in `show': can't convert String into Integer (TypeError)
from test.rbw:26:in `on_init'
from test.rbw:39:in `main_loop'
from test.rbw:39:in `<main>'
振り出しに戻っている・・・
ruby 1.9.2p136 (2010-12-25 revision 30365) [i386-mswin32]
>ruby test.rbw
"callback func"
〜
"callback func"
test.rbw:21:in `block in <module:Win32>': undefined method `call' for "l!":String (NoMethodError)
from c:/Dev/ruby19/lib/ruby/1.9.1/dl/func.rb:102:in `call'
from c:/Dev/ruby19/lib/ruby/1.9.1/dl/func.rb:102:in `block in bind'
from test.rbw:39:in `call'
from test.rbw:39:in `on_run'
from test.rbw:39:in `main_loop'
from test.rbw:39:in `<main>'
#「"l!":String」は実行するたびに変わります。Arrayになったり他のオブジェクトになったり・・・
>ruby -v
ruby 1.9.3p385 (2013-02-06) [i386-mingw32]
>ruby test.rbw
test.rbw:26:in `show': can't convert String into Integer (TypeError)
from test.rbw:26:in `on_init'
from test.rbw:39:in `main_loop'
from test.rbw:39:in `<main>'
振り出しに戻っている・・・
855デフォルトの名無しさん
2013/02/11(月) 23:27:45.98 python使った方が楽よ
856838
2013/02/12(火) 07:38:35.03857デフォルトの名無しさん
2013/02/12(火) 10:14:20.96 えっ
858デフォルトの名無しさん
2013/02/12(火) 10:30:38.25 確かに ttp://python.jp/ の方は使えないな。
ttp://python.org/ の方が良い。
ttp://python.org/ の方が良い。
859デフォルトの名無しさん
2013/02/12(火) 14:10:05.86 >>32 この娘10歳くらいでK-POP踊ってるんだけど、ものすごくかわいい。
www.nicovideo.jp/watch/sm20053263
www.nicovideo.jp/watch/sm20053263
860839
2013/02/12(火) 14:29:12.25 おそらくGCがらみなんで、dlwrapしたオブジェクトなんかをグローバル変数にすれば落ちにくくなるかも
あとコールバックが呼び出されすぎるのが原因っぽいのでDefWindowsProcを呼び出したほうがいいはず
...
WM_DESTROY = 0x0002
extern 'LRESULT DefWindowProc(HWND, UINT, WPARAM, LPARAM)', :stdcall
extern 'void PostQuitMessage(int)', :stdcall
...
def callback_func(hwnd, msg, wp, lp)
p [hwnd, msg, wp, lp]
case msg
when Win32::WM_DESTROY
Win32.PostQuitMessage(0)
0
else
Win32.DefWindowProc(hwnd, msg, wp, lp)
end
end
あとコールバックが呼び出されすぎるのが原因っぽいのでDefWindowsProcを呼び出したほうがいいはず
...
WM_DESTROY = 0x0002
extern 'LRESULT DefWindowProc(HWND, UINT, WPARAM, LPARAM)', :stdcall
extern 'void PostQuitMessage(int)', :stdcall
...
def callback_func(hwnd, msg, wp, lp)
p [hwnd, msg, wp, lp]
case msg
when Win32::WM_DESTROY
Win32.PostQuitMessage(0)
0
else
Win32.DefWindowProc(hwnd, msg, wp, lp)
end
end
861デフォルトの名無しさん
2013/02/12(火) 22:44:52.00 >>859
ttp://www.youtube.com/watch?v=zIZulPN6fb4
ttp://www.youtube.com/watch?v=Gj5_T72UetM
ttp://www.youtube.com/watch?v=5N7BpsaOFo4
ttp://www.youtube.com/watch?v=zIZulPN6fb4
ttp://www.youtube.com/watch?v=Gj5_T72UetM
ttp://www.youtube.com/watch?v=5N7BpsaOFo4
862デフォルトの名無しさん
2013/02/21(木) 23:18:15.58 irbでオートコンプリートできる?
863デフォルトの名無しさん
2013/02/24(日) 01:58:05.74 1.9.3-p392
864デフォルトの名無しさん
2013/02/25(月) 01:45:24.75 2.0.0-p0
865デフォルトの名無しさん
2013/05/16(木) 23:13:41.89 2.0.0-p195
1.9.3-p429
1.9.3-p429
866デフォルトの名無しさん
2013/06/10(月) 16:59:58.37 1.8から抜け出せない
867デフォルトの名無しさん
2013/06/30(日) 13:15:39.44 Ruby 1.8.7 は引退しました
868デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.AN mrubyをVisualStudioでbuildしたいんだけど、やりかたはどこを見ればわかりますかね?
CMakeを使う方法はヒットするけど、今のrakeでの方法がわからない。
CMakeを使う方法はヒットするけど、今のrakeでの方法がわからない。
869839
2013/07/06(土) NY:AN:NY.AN >>868
1. build_config.rbのtoolchainを:vs2010に変更
2. VSでメイクファイルプロジェクト作成
3. ビルドコマンドライン「rake LDFLAGS=/DEBUG」、消去コマンド「rake clean」、出力「bin\mruby.exe」
1. build_config.rbのtoolchainを:vs2010に変更
2. VSでメイクファイルプロジェクト作成
3. ビルドコマンドライン「rake LDFLAGS=/DEBUG」、消去コマンド「rake clean」、出力「bin\mruby.exe」
870デフォルトの名無しさん
2013/07/06(土) NY:AN:NY.AN ありがとうございました。やってみます。
871デフォルトの名無しさん
2013/12/08(日) 00:17:46.75 2.0.0-p353
872デフォルトの名無しさん
2014/01/05(日) 05:56:15.25 ActiveScriptRubyって見事にガラパゴスだよな
ガラパゴスrubyバンザイ!
ガラパゴスrubyバンザイ!
873デフォルトの名無しさん
2014/01/05(日) 08:05:56.89 Windows使うならc#、JScriptで十分だろ
わざわざ苦労してまでRubyやPythonを使いたいのか甚だ疑問
わざわざ苦労してまでRubyやPythonを使いたいのか甚だ疑問
874デフォルトの名無しさん
2014/01/05(日) 09:56:07.49 何の苦労もねーよアホ
875デフォルトの名無しさん
2014/01/05(日) 10:39:41.23 >>873は苦労してるんだろ。察してやれ。
876デフォルトの名無しさん
2014/01/05(日) 10:44:03.14 Rubyは苦労するだろ
877デフォルトの名無しさん
2014/01/08(水) 10:42:53.44 Windowsならpythonすごくいいわ
878デフォルトの名無しさん
2014/01/13(月) 23:20:06.34 2.1.0-p0
879デフォルトの名無しさん
2014/01/16(木) 13:43:38.34 ん後wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
880デフォルトの名無しさん
2014/01/17(金) 02:27:34.94 ンッペコバーナーwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
881デフォルトの名無しさん
2014/03/30(日) 23:28:24.87ID:wAo5RnAe 2.1.1-p76
882デフォルトの名無しさん
2014/04/02(水) 21:10:35.57ID:cUTTSimD 2.1.1-p76
883デフォルトの名無しさん
2014/05/22(木) 10:16:40.13ID:T7g9nJmM 日テレ低原価テレビ問題ニューヨーク塩素スープ ニュース沖縄牛ライス北京ダウ問題分
日テレ低原価テレビ問題ニューヨーク塩素スープ ニュース沖縄牛ライス北京ダウ問題分
日テレ低原価テレビ問題ニューヨーク塩素スープ ニュース沖縄牛パスタ北京ダウ問題
日テレ低原価テレビ問題ニューヨーク塩素スープ ニュース沖縄牛ライス北京ダウ問題分
日テレ低原価テレビ問題ニューヨーク塩素スープ ニュース沖縄牛パスタ北京ダウ問題
884デフォルトの名無しさん
2014/05/24(土) 20:40:06.34ID:MGyccAbV windowsは開発者(自前ビルド)と末端(ASR)の差が激しいから
RimixとかRuby installerとか全然話題にならないよな
RimixとかRuby installerとか全然話題にならないよな
885デフォルトの名無しさん
2014/05/24(土) 20:42:04.73ID:MGyccAbV remixはNYAOS + 端末ソフトウェア ckw-mod
なんてトリッキーな組み合わせが標準だけどtcc/leとかも検討してほしい
なんてトリッキーな組み合わせが標準だけどtcc/leとかも検討してほしい
886デフォルトの名無しさん
2014/05/26(月) 00:08:22.40ID:9gRnxYGF Ruby Installerは2.0.0で止まっているが
もうメンテしていないわけじゃなくて
本家がバグ直してくれへんのや・・・とかなんか愚痴っとる
どんだけ無能やねん
nobuさんも呆れてはるわ
もうメンテしていないわけじゃなくて
本家がバグ直してくれへんのや・・・とかなんか愚痴っとる
どんだけ無能やねん
nobuさんも呆れてはるわ
887デフォルトの名無しさん
2014/05/26(月) 05:20:21.09ID:Js6v2rIN もうこの業界クレクレ厨ばかりになってしまった
888デフォルトの名無しさん
2014/05/28(水) 03:51:13.99ID:mHv7v4p1 Ruby Tools for Visual Studioまだ?
Ironうんたらは却下
Ironうんたらは却下
889デフォルトの名無しさん
2014/05/28(水) 06:33:39.68ID:r/cEnKci ironとはなんだったのか
890デフォルトの名無しさん
2014/06/08(日) 23:14:00.93ID:Q2J5svst 2.1.2-p95
891デフォルトの名無しさん
2014/09/25(木) 20:34:47.11ID:79Elr1ZX >ActiveScriptRuby 安定版に幾つかの便利なライブラリを加え、
>さらにRubyをCOMサーバとしても利用可能にしたもの。ベースはmswin32版
VC版じゃね?
>さらにRubyをCOMサーバとしても利用可能にしたもの。ベースはmswin32版
VC版じゃね?
892891
2014/09/26(金) 01:40:49.25ID:TbsD84QQ 勘違いw
mswin32版=VC版だった
mswin32版=VC版だった
893デフォルトの名無しさん
2014/09/26(金) 11:56:01.87ID:TbsD84QQ894デフォルトの名無しさん
2014/09/26(金) 13:05:56.06ID:dz5SWLeo 実際ソフト公開したことある人なら知ってる
クレクレ厨のいかにクレクレかということを
クレクレ厨のいかにクレクレかということを
895デフォルトの名無しさん
2014/09/28(日) 09:57:44.35ID:CXiop63A だよな。そして何かを提供すればするほど損をするネット共産主義のくだらなさを悟って
自分も乞食ユーザになる選択をする
自分も乞食ユーザになる選択をする
896デフォルトの名無しさん
2014/10/01(水) 21:16:04.32ID:y5YwAOfS テンプレRDE古いなーって思ったら2006年でバロス
897デフォルトの名無しさん
2014/10/07(火) 00:18:48.73ID:M2ehTgeA estt
898デフォルトの名無しさん
2014/10/23(木) 12:15:21.84ID:ISc0F2Qf ・WebブラウザだけではじめるRuby/Railsプログラミング
http://qiita.com/machu/items/0ecc5699273c18fd1cd8
・ドットインストール Ruby入門 (全23回)
http://dotinstall.com/lessons/basic_ruby_v2
・小学生でもわかるRuby on Rails入門
http://openbook4.me/projects/92
http://qiita.com/machu/items/0ecc5699273c18fd1cd8
・ドットインストール Ruby入門 (全23回)
http://dotinstall.com/lessons/basic_ruby_v2
・小学生でもわかるRuby on Rails入門
http://openbook4.me/projects/92
899デフォルトの名無しさん
2014/10/23(木) 14:53:39.11ID:RjBQcz8M OLEオブジェクトにゼロデイ脆弱性、Microsoftが暫定対策プログラムを公開
http://www.forest.impress.co.jp/docs/news/20141022_672480.html
http://www.forest.impress.co.jp/docs/news/20141022_672480.html
900デフォルトの名無しさん
2015/01/02(金) 14:28:52.91ID:AWF2zIf0 2.2.0
901デフォルトの名無しさん
2015/02/08(日) 13:40:14.51ID:7p70QxfD cygwin で ruby をインストールしたら実行しても何も表示されないんだけど,
これってみんなそうなの?
ちなみにバージョンは 2.0.0.p598-1
これってみんなそうなの?
ちなみにバージョンは 2.0.0.p598-1
902デフォルトの名無しさん
2015/02/08(日) 14:13:28.74ID:tUjKNEQ0 なにも表示しないコードを実行したらそうなる
903デフォルトの名無しさん
2015/02/08(日) 14:24:11.60ID:CIQof1kH 実行って何を実行したんだ?どうなる想定だったんだ?何のためにrubyをインストールしたんだ?そもそもrubyがなんだか知ってんの?
904デフォルトの名無しさん
2015/02/08(日) 19:54:56.88ID:rq/NZW4u 今はJRubyで、JavaFXを使って、
GUI表示している人が、多いのでは?
GUI表示している人が、多いのでは?
905デフォルトの名無しさん
2015/03/03(火) 10:59:36.98ID:W2DJwOli RubyInstaller でWin版の2.1.5 を入れようとしたら、
最初の gem updateで、いきなり certificate verify failed
certパスを調べたら、露骨にパッケージ製作者のローカルファイルになってる
> p OpenSSL::X509::DEFAULT_CERT_FILE
"C:/Users/Luis/Code/luislavena/knap-build/var/knapsack/software/x86-windows/openssl/1.0.0o/ssl/cert.pem"
lib\ruby\2.1.0\openssl.rb を手で書き換えればいいけど、なんだかモヤモヤ
最初の gem updateで、いきなり certificate verify failed
certパスを調べたら、露骨にパッケージ製作者のローカルファイルになってる
> p OpenSSL::X509::DEFAULT_CERT_FILE
"C:/Users/Luis/Code/luislavena/knap-build/var/knapsack/software/x86-windows/openssl/1.0.0o/ssl/cert.pem"
lib\ruby\2.1.0\openssl.rb を手で書き換えればいいけど、なんだかモヤモヤ
906デフォルトの名無しさん
2015/06/25(木) 20:54:16.25ID:2iFFcEMc スレとはあまり関係ないんだけどさ、
どういうActveScriptエンジンがインストールされてるか判別する方法ってあるんかな?
どういうActveScriptエンジンがインストールされてるか判別する方法ってあるんかな?
907デフォルトの名無しさん
2015/06/26(金) 03:37:32.36ID:TeHEn9G0 どうしてたまにスレがDAT落ちしたと判定されるのはなぜ
908デフォルトの名無しさん
2015/06/26(金) 06:25:35.23ID:oMjJITJg ActveScriptでぐぐるとかってにActionScriptを検索したことにされちゃうのは勘弁して
909デフォルトの名無しさん
2015/11/07(土) 17:04:12.81ID:rKOE1Rwz 過疎
910デフォルトの名無しさん
2015/11/28(土) 14:31:12.25ID:h0AsQAYT win8.1環境
rubyとrailsを入れてからcygwinを入れたら
cmdで
rails -v
で認識するのに
cygwinの
rails -v
で
C:\Ruby22-x64\bin\ruby.exe: No such file or directory -- /cygdrive/c/Ruby22-x64/bin/rails (LoadError)
とエラーになります。
rubyはpathが通っているのですが
cygwinにrailsを認識させるにはどうしたらいいでしょうか?
rubyとrailsを入れてからcygwinを入れたら
cmdで
rails -v
で認識するのに
cygwinの
rails -v
で
C:\Ruby22-x64\bin\ruby.exe: No such file or directory -- /cygdrive/c/Ruby22-x64/bin/rails (LoadError)
とエラーになります。
rubyはpathが通っているのですが
cygwinにrailsを認識させるにはどうしたらいいでしょうか?
911デフォルトの名無しさん
2015/11/28(土) 16:50:27.90ID:OpEOTh0X /cygdrive/c/ が cygwin の rails から見えてないんじゃね
912デフォルトの名無しさん
2015/12/01(火) 00:18:30.57ID:4fJqR1py 自己解決
batを叩けばいけました。
他にもエラーいろいろ
railsまだまだ発展途上ですね〜
batを叩けばいけました。
他にもエラーいろいろ
railsまだまだ発展途上ですね〜
913デフォルトの名無しさん
2015/12/01(火) 09:17:22.66ID:9BYkXgQy 斜陽オワコン
914デフォルトの名無しさん
2015/12/27(日) 23:27:27.64ID:eYqpjzza 2.3.0
915デフォルトの名無しさん
2016/05/02(月) 00:23:20.78ID:Svma5Egx 2.3.1
916デフォルトの名無しさん
2016/06/26(日) 09:55:40.86ID:eOF1WWDb 「マイクロソフトを嫌っていたのではない、われわれが嫌われていたのだ」――Rubyまつもとゆきひろ氏が語る、MSの壁
http://www.itmedia.co.jp/news/articles/1606/08/news138.html
http://www.itmedia.co.jp/news/articles/1606/08/news138.html
レス数が900を超えています。1000を超えると表示できなくなるよ。
ニュース
- 【速報】「女芸人No.1決定戦 THE W」9代目女王にニッチェ! 7年ぶり3度目で悲願の優勝 [牛丼★]
- 「おこめ券は米以外の食品も買える。効果的な活用を」 地元で農水相 [山形県] [少考さん★]
- いじめ後遺症 15年前のトラウマに苦悩する当事者「夢の中に出てくる」「された側は一生ものの傷」 [♪♪♪★]
- 【芸能】『女芸人No.1決定戦THE W』 粗品が最後にバッサリ「優勝賞金1000万円にしてはレベル低い大会」 [冬月記者★]
- 今年の流行語大賞 『働いて働いて働いてまいります』が受賞で不快感… 過労自殺の遺族らが会見「家族にむち打つような行為だ」 [冬月記者★]
- 東京の自販機そばに金塊4200万円分、何者かに持ち去られる…札幌の50代が8000万円振り込んだ後に上京して被害 [どどん★]
- 永野ってなんで売れたの?
- お前「趣味……?ないですね。無趣味です」ぼく「ずっと2chしてるんだから2chが趣味でいいじゃん」前「?」
- 武論尊「ヤクザも政治家も一切取材したことない。空想だからあんなにかっこよく描ける」 [309323212]
- 隕石の落ちたところに俺が立ってたら
- 🏡パン🍞つー✌まる👌見え👊😅👊
- 【正論】検察「山上よ、どんな事情があろうと暴力が許されない」 [442080748]
