06/08/14 10:27:58
>>49
必要のあるなしを吟味せずに、無節操に取り入れていったらどうなるか考えてみろ
51:デフォルトの名無しさん
06/08/14 10:29:26
キターw
52:デフォルトの名無しさん
06/08/14 11:40:05
>>48
kwsk。出来れば具体的なプロジェクト名を。
>>49
2chに限定した話?
2chのスレや日記などであげられていた問題がきっかけで
直接修正されたということなら数回見たことがあるけど、
そんなにひどいことってあったかな。
出来ればどのスレのどの辺りって教えてくれませんか。
53:デフォルトの名無しさん
06/08/14 14:39:32
vrubyはdelphiみたいなAnchorsはないのかな
あれがあるだけでレイアウトが簡単になるのだが
54:デフォルトの名無しさん
06/08/14 14:48:16
∧∧ ミ _ ドスッ
( ,,)┌─┴┴─┐
/ つ. 要望禁止│
~′ /´ └─┬┬─┘
∪ ∪ ││ _
゛゛'゛'゛
55:デフォルトの名無しさん
06/08/14 15:37:36
>>53
なんだAnchorsって。
56:デフォルトの名無しさん
06/08/14 15:39:50
>>53
Apollo使えば?
57:デフォルトの名無しさん
06/08/15 16:17:52
vrubyで、次のようにしてウィンドウの位置と大きさを保存・復帰させてみたのですが、
起動と終了を繰り返すたびにウィンドウが小さくなってしまいます。
どうすれば正しくできるのでしょうか?
require 'vr/vruby'
require 'vr/vrhandler'
require 'pstore'
class Form1 < VRForm
include VRClosingSensitive
#include VRMessageHandler
def construct
@db = PStore.new("window.db")
@db.transaction do
pos = @db["pos"] || @db.abort
p pos
self.move(*pos)
end
end
def self_close
@db.transaction do
@db["pos"] = [x, y, w, h]
end
end
end
VRLocalScreen.start(Form1)
58:デフォルトの名無しさん
06/08/15 18:19:07
>>57
バグか仕様か知らんけど、x,y,w,hはクライアント領域のものなので、
それを使ってmoveしちゃうとタイトルバーとかウィンドウ枠とかの分
どんどん小さくなる。
self_closeで、
@db["pos"] = [x, y, w, h]
でなく
@db["pos"] = self.windowrect
とすればうまくいくんじゃないか? 試してないが。
59:57
06/08/15 19:13:51
>>58
その通りでした。おかげでうまくいきました。
60:デフォルトの名無しさん
06/08/15 22:23:50
>>42
> Windows限定でいいので
> Pathnameかなんかに'/' <-> '\\'の相互変換メソッドが欲しい
'\\'->'/'はFile.expand_pathでできるよね
'/'->'\\'は単純にgsubでも大丈夫だと思うけど
それじゃだめ?
61:デフォルトの名無しさん
06/08/15 22:39:38
デフォルトのパス区切りが/なんてWindows環境じゃありえないウンコ仕様は未来永劫直らないんだろうな。
62:デフォルトの名無しさん
06/08/15 22:44:57
別にどっちもウンコ仕様だとは思わないけど。
63:デフォルトの名無しさん
06/08/15 22:45:58
ああ、RubyのWin対応がウンコって意味か。
それなら同意
64:デフォルトの名無しさん
06/08/16 01:37:02
殺伐としてるなぁ
65:デフォルトの名無しさん
06/08/16 05:07:48
殺伐としてる割には進行遅いがな
66:デフォルトの名無しさん
06/08/16 16:46:48
>>33 のすぐ落ちる画面を書いてみた。
require 'vr/vruby'
require 'vr/vrcomctl'
require 'vr/vrcontrol'
class Test_Form < VRForm
def self_created
self.caption = 'form1'
self.move(265,185,600,400)
addControl(VRListview,'listView',"listView",56,16,488,304,1342177281)
@listView.addColumn("column1",100)
@listView.addColumn("column2",120)
Thread.start do
loop do
@listView.insertItem(0,[Time.now.strftime("%H:%M:%S") , "auauauauauau"])
# sleep(0.1)
end
end
end
end
VRLocalScreen.start Test_Form
スレッドにsleepを入れていないので猛スピードでカラムを挿入するが、
この状態でカラムの幅を変えようとすると画面が固まったり、プログラムが落ちて窓が消えてしまう。
sleepのコメントをはずすと、平均して10回に1回ぐらいの確率(体感)で、固まったり落ちたりする感じ。
あと、カラム1の要素をクリックして選択しようとしても同じ事が起こる。
67:デフォルトの名無しさん
06/08/16 16:52:24
なぜ作者に連絡したり、MLに投げたりという発想がないのか
68:デフォルトの名無しさん
06/08/16 16:59:27
定期巡回乙であります
69:デフォルトの名無しさん
06/08/16 23:01:17
>>66
手元でやってみたが固まりも落ちもしなかった
ひょっとしてActiveScriptRubyのせいじゃない?
るびま15号のartonさんインタビューで、XPでスレッド周りが動かなくなったとか言ってる
70:デフォルトの名無しさん
06/08/16 23:11:19
>>69
ActiveScriptRubyだけど、固まりも落ちもしなかった。
71:デフォルトの名無しさん
06/08/16 23:12:44
とりあえずお前らrubyとライブラリのバージョンくらい書け。
72:デフォルトの名無しさん
06/08/16 23:20:07
>>71
>>33に書かれてるじゃん
73:デフォルトの名無しさん
06/08/16 23:23:22
つか、動く報告があったんだから、>>33は他のWindowsバイナリでも落ちるのかどうか
検証してから報告して欲しいな。
74:デフォルトの名無しさん
06/08/17 00:28:39
>>66
ASR1.8.4.1で試したけど問題なし。
Webに行ったら1.8.4.5が出てたのでインストールして試したが問題なし。
75:33
06/08/17 01:40:51
環境差の可能性があるって事であわててテストしました。
まず、cygwinをインストールして、
ruby-1.8.4-i386-cygwin.tar.gz
vrswin-040314-i386-cygwin-1.8.tar.gz
vruby-040717-i386-cygwin-1.8.tar.gz
で動作させたら、これは33に書いたとおり、一発で落ちます。
で、サーバー用に動作させていたWindows2000 SP4 で、
ASR 1.8.4.4 で動作させたら、これは、落ちることなく正常動作します。
WindowsXP SP2だと落ちるのか?それとも自分のマシン独自の問題か?
>>70 や、>>74 はXP SP2ですか?
76:74
06/08/17 02:29:09
XP Home SP2
77:74
06/08/17 02:42:38
>>75
どこでダウンロードできるのか書いといてくれよ。探したじゃん。
(URLリンク(ftp.ruby-lang.org))
CYGWIN_NT-5.1 * 1.5.20(0.156/4/2) 2006-07-01 02:22 i686 Cygwin
ruby 1.8.4 (2005-12-24) [i386-cygwin]
で問題なし。
78:74
06/08/17 02:59:06
もっかい>>33を読んで、「10分放置」をしてみたが、問題なし。
ライブラリ作者に、詳細な環境と状況を添えて、メールしたら?
79:69
06/08/17 04:21:31
swinとvrubyの最新リリースはvrswin060205とvruby060223だからね...
(ASRのパッケージはもちろん最新)
2年前の古いリリース使っておかしいよって言っても作者も困るでしょ
ちなみにおれの環境は
Windows2000SP4、garbagecollect.jpから落とした1.8.4のバイナリ
本家から落としたvrswin060205とvruby060223のセット
ぜんぜん問題なし
80:デフォルトの名無しさん
06/08/17 05:47:32
windows2000sp4, mswin32版rubyで固まった。swinのバージョンはよくわからん
81:デフォルトの名無しさん
06/08/17 16:08:30
swinのバージョンの検査は
require 'swin'
p SWin::VERSION
かな。
vrubyのバージョン検査方法は?
82:33
06/08/18 01:07:40
>>33 および、>>66のソースの件ですが、
require の3行の下に、
SWin::Application.thread_critical=true
を書き足した所、私の必ず落ちる環境でも、正常動作するようになりました。
よかった~これでGUIを気兼ねなく使えるかも。
でもなんで?
URLリンク(www.osk.3web.ne.jp)
の一番最後に、
>mswin版はデフォルトでtrue。
と書いてあるので、この修正は必要ないと思っていたのに。
ちなみに、
p SWin::Application.thread_critical
でデフォルト値を表示してみるとfalseでした。
環境:ASR1.8.4.4
83:デフォルトの名無しさん
06/08/18 01:13:59
追伸
>>75 の、vrubyとswinのバージョンが古いcygwin版でも、
SWin::Application.thread_critical=true
の行を書き足すことで正常動作しました。
皆さんがテストしてくださったおかげで、問題点が絞り込め、
解決に到達出来たようです。本当にありがとうございました。
vrubyの中の人。不安定とか、あらぬ疑いをかけてごめんなさいでした。
84:デフォルトの名無しさん
06/08/18 01:35:45
なぜかはわからんが問題解決したってことでデフォルトFALSEに変更されてるっぽい
URLリンク(vruby.cvs.sourceforge.net)
QAにうそ書いてるってことだし、作者に報告しといたほうがいい気がする
85:vruby作者
06/08/20 14:54:02
いまここを発見しました。
mswin版rubyとGUIのスレッド相性は、Windowsの構造化例外が
どうとか(詳細忘れました)が原因で、その後ruby本体側の改修で直ったように
見えたので、mswin版もthread_critical=falseをデフォルトにしました。
cygwin版でもおかしなことが起こるということは、他にも何か問題あったんでしょうかね。
(とりあえずうちでは問題出てません。)
sqa.htmlは修正しておきます。
86:74
06/08/20 15:40:35
作者キターーーーーーー&乙であります。
87:デフォルトの名無しさん
06/08/21 11:03:40
dl2でドトネトらいくなライブラリを作ることを月狼に命じる
88:デフォルトの名無しさん
06/08/21 13:35:47
落ちないけど固まった。
でもタスクマネージャを見るとCPUは回ってるから何かは動いてるんだなと思って-rdebugしたらsegvった。
これどのスレッドが動いてるとか追いかける方法はあるの?
sleepすりゃ問題ない(今のところ)し、thread_criticalでも問題ないみたい。
だいたいスレッド経由でノーウェイトで何の手当もせずにぶん回すような用途って何だろうとは思うが。
バージョンは
・Epson NA701(CoreDuo)
・WindowsXP SP2
・CYGWIN_NT-5.1 hoge 1.5.21(0.156/4/2) 2006-08-09 13:38 i686 Cygwin
・ruby 1.8.5 (2006-08-09) [i386-cygwin] <= preview3
・SWin::VERSION => "060205"
・VRuby => "060223"
89:デフォルトの名無しさん
06/08/21 13:42:14
>>88
そういうのは、1.8.4で試すものです
90:デフォルトの名無しさん
06/08/21 16:57:26
visualurubyの画面で、ボタンのcaptionに ボタン(&B) と書いても
Alt+B でボタンが押せないんだけど、そういうものなのでしょうか?
なにか、簡単な設定かコード記述で使えるようになったりしますか?
91:デフォルトの名無しさん
06/08/21 22:32:06
>>90
URLリンク(vruby.sourceforge.net)
VBとかは(&B)とか書いただけでお手軽にショートカットキーが設定できたりするのかね?
92:デフォルトの名無しさん
06/08/21 22:45:11
ageてみる
>>88
core吐かせられるならgdbで追いかけられない?
1.8.5 preview4 が出たみたいだし
入れなおすついでにprintf突っ込んで追っかけてみるとか...
93:デフォルトの名無しさん
06/08/21 23:32:48
つーか、>>88は、自分の環境で1.8.4で動くのか落ちるのかはっきりさせろ
94:デフォルトの名無しさん
06/08/22 07:50:29
>>91
VB.NETならLabelのTextプロパティに"ほげ(&B)"って書いとけば
ショートカットキーが効くようになる。
# 多分VB6とかでも同じはず
95:デフォルトの名無しさん
06/08/22 09:25:59
>>93
めんどくさいのでマシン貸すから自分でやれば。
96:デフォルトの名無しさん
06/08/22 13:30:06
vrubyのリストボックスで、項目をダブルクリックした時に何か処理したいんだけど
どう書けばええの?
97:90
06/08/22 16:14:28
>>91
ありがとうございます。
> URLリンク(vruby.sourceforge.net)
確認しました。現状はこんな感じです。
・フォームデザイナ使用。form自体にVReyFeasibleをつけてキーイベントを拾おう。
・ありゃ、self_charイベントでは、ctrl+文字は拾えるが、alt+文字は拾えないみたい(進展がなければ、ctrl+文字で妥協しよう)
・ふむふむ、URLリンク(www.osk.3web.ne.jp) によると、keydownイベントというのが拾えるんだね。
・addHandler WMsg::WM_KEYDOWN,"keydown",MSGTYPE::ARGINTINT,nil を設定してself_keydownイベントを拾っても、やはりalt+文字は拾えないみたい
・でも出来ないはずはないんだよね。menuでは、alt+FでFileメニューをpopupしたりしているんだから。
・うーん、menu関係のソースを読んで情報を探るしかないのか?
といったところです。なにか間違った方向に進んでいそうでしたらアドバイスお願いします。
> VBとかは(&B)とか書いただけでお手軽にショートカットキーが設定できたりするのかね?
.NETの他に、ExcelやAccessのフォームなどでも、部品のcaptionに(&B)と書いておけば、
コードを書くことなくALT+Bでボタンが押せるようになります。
VB6はいじったことはないですが、VBAと同等品と聞いていますので同じだと思います。
他に、
項目名(&K) [________]
となっているとき、ALT+Kを押すと、入力フィールドにカーソルが移動します。
Windowsでは、画面操作のすべてをキーボード操作できる画面を、フォームエディタで(&B)などと書くだけで作れるという便利さがあります。
98:90
06/08/22 16:32:47
>>97の補足です。
>他に、
>項目名(&K) [________]
>となっているとき、ALT+Kを押すと、入力フィールドにカーソルが移動します。
なぜ、labelに(&K)と書いてあるのに、フォーカスが入力フィールドのほうに行くのかというと、
VBAなどのフォームデザイナでは、入力フィールドに限らず、listやcomboboxなどの画面部品をフォームに
挿入したとき、その画面部品の見出しlabelがセットになって、グループ化されて一緒に挿入されます。
その、セットのlabelに(&K)と書くことで、画面部品にフォーカスが行くようになります。
内部的には、画面部品と、その部品用のlabelというのがリンクされた情報を保持しているのかもしれません。
ちなみに、1画面内に複数、(&K)を指定すると、そのときの動作は保証されないそうです。
99:デフォルトの名無しさん
06/08/23 02:51:24
>>97
vrinitにadd_parentcall("syschar")を追加しとけば親で拾えるよ
(AltはWM_CHARじゃなくてWM_SYSCHARで飛んでくるらしい)
あと、syscharに限んないけどフォーカスないと拾えないから注意
イベント拾い専用のコントロールに常時フォーカスさせて
そいつから一括してキーイベント拾うようにするとかしてくれ
100:デフォルトの名無しさん
06/08/23 07:32:46
最近Ruby使い始めたんだがすげーいいなこれ。
GUIが一瞬で出来し、適当に書いても動くしw
101:デフォルトの名無しさん
06/08/23 08:45:00
>>96
URLリンク(blade.nagaokaut.ac.jp)
↑みたいにして????_dblclickedで処理
vr/compat/vrcontrol.rbのVRListboxのところに
addCommandHandler(WMsg::LBN_DBLCLK, 'dblclicked',MSGTYPE::ARGNONE,nil)
を直接入れちゃってもいい
ってゆうか最初から入れとけよ作者
102:デフォルトの名無しさん
06/08/23 21:04:44
>>101
>>96ではないけど、
FormDesignerで画面を作ると、リストボックスは、別モジュールで
addControl(VRListbox,'listBox1',"listBox1",72,40,296,132,1350565889)
を使って定義され、別ファイルからこのモジュールをインクルードして
使うようになってるんだけど、
この状態で、
URLリンク(blade.nagaokaut.ac.jp)
と同等のサブクラス定義ってどうやればいいでしょうか?
(FormDegignerで生成したファイルには手をつけずに、自作のファイルの中だけで定義したい。)
103:デフォルトの名無しさん
06/08/24 01:46:48
>>88 >>66のスクリプトだよねえ
>>101 確かによく使いそうですねえ。つうか、selchangedだけか。デフォルトは。
>>102 VRListbox自体を差し替えるか、VRListboxのvrinitだけを差し替えれば?
(前者は定数代入、後者はaliasで)
>>90 はVRFormじゃなくてダイアログ使うと出来る。(Formの代わりならmodelessか)
Windowsの機能で。以下サンプルのmdlgtest2.rbから抜粋&改変
なんとなくインデントが狂いそうなんでインデントを全角スペースにしてみた。modalでごめん。
require 'vr/vrdialog'
module MyDialogContents
def construct
move 0,0,150,150
centering
addControl VRButton,"btn1","button1(&a)",10,10,100,30,WStyle::WS_TABSTOP
addControl VRButton,"btn2","button2(&b)",10,40,100,30,WStyle::WS_TABSTOP
addControl VRButton,"btn3","button3(&c)",10,70,100,30,WStyle::WS_TABSTOP
end
def btn1_clicked
close( ["This","is","sample","return","value"] )
end
def btn2_clicked
close(false)
end
def btn3_clicked
close(3)
end
end
p VRLocalScreen.modalform(nil,nil,MyDialogContents) #parent,style,dialog
104:デフォルトの名無しさん
06/08/24 01:52:06
しまった、sage損なった...
105:102
06/08/24 02:24:11
>>103
> >>102 VRListbox自体を差し替えるか、VRListboxのvrinitだけを差し替えれば?
> (前者は定数代入、後者はaliasで)
すんまそん。 頂いたご返答はよく分からなかった(試したが成功しなかった)のですが、
その後自分の勘違いに気づき、簡単にできることが分かりました。
self_createdで、リストボックスを表す変数に直接定義してやれば良いみたいです。
class TheForm < VRForm
include Frm_form1
def self_created
# @listBox1.addCommandHandler(WMsg::BN_CLICKED, "clicked", MSGTYPE::ARGNONE,nil)
@listBox1.addCommandHandler(WMsg::BN_DBLCLICKED, "dblclicked",MSGTYPE::ARGNONE,nil)
end
def listBox1_dblclicked
print "ダブルクリックしました" + $/
end
# def listBox1_clicked
# print "クリックしました" + $/
# end
end
ちなみにclickedは駄目みたいですね。selchangedとかぶるからかな?
106:デフォルトの名無しさん
06/08/24 02:34:29
すごいなvruby
おらワクワクしてきたぞ
107:デフォルトの名無しさん
06/08/24 02:35:32
BN_????はボタンのやつで、LBN_????がリストボックスのやつ
108:102
06/08/24 02:42:56
>>107
>BN_????はボタンのやつで、LBN_????がリストボックスのやつ
ほんとだ。また何か勘違いしているのか?<自分
109:102
06/08/24 02:52:24
>>105 ですが、やっぱり変でした。
>>105 でリストボックスをダブルクリックすると、
listBox1_dblclicked は通ることは通るんだけど、
ダブルクリックした直後には通らず、一回画面を別画面の裏側にするとか、
画面を終了させないとlistBox1_dblclickedが動作しないです。
変な物を貼ってお騒がせしてすみませんです。
110:デフォルトの名無しさん
06/08/24 03:04:19
ん?うまくいってるでしょ。LBN_KILLFOCUSの値になってるんじゃないかな
require '_frm_hogehoge'
module WMsg
LBN_SETFOCUS = 4
LBN_KILLFOCUS = 5
end
class Form1 ##__BY_FDVR
def self_created
@listBox1.addCommandHandler(WMsg::LBN_DBLCLK, "dblclicked",MSGTYPE::ARGNONE,nil)
@listBox1.addCommandHandler(WMsg::LBN_SETFOCUS, "gotfocus",MSGTYPE::ARGNONE,nil)
@listBox1.addCommandHandler(WMsg::LBN_KILLFOCUS, "lostfocus",MSGTYPE::ARGNONE,nil)
@listBox1.addString('みかん')
@listBox1.addString('りんご')
end
def listBox1_dblclicked
puts @listBox1.getTextOf(@listBox1.selectedIndex)
end
def listBox1_gotfocus; puts "gotfocus"; end
def listBox1_lostfocus; puts "lostfocus"; end
end ##__BY_FDVR
111:102
06/08/24 04:29:48
>>110
やっと正常に動作しました。どうやらフォーカスは無関係みたいです。
・BN_DBLCLICKEDじゃなくて、ちゃんとLBN_DBLCLKを使う。
・listboxに中身を入れる
(つまり>>110のソースどおり。LBN_SETFOCUS関係の設定は不要)
で、理想的に動作しました。
実は私はlistboxの中身を空っぽの状態でテストしていました(謝)。
そして、listboxの中身が空っぽだと、>>110のソースでも>>109の状態になります。
何もないところをダブルクリックすると、その時点ではlistBox1_dblclickedを通らず、
窓を閉じたり、別の窓の後ろに動かしてからlistBox1_dblclicked を通ります。
112:90
06/08/25 00:02:19
>>103
>>90 はVRFormじゃなくてダイアログ使うと出来る。(Formの代わりならmodelessか)
ダイアログにすることで、Alt+キーでボタンが押せました。情報ありがとうございました。
113:デフォルトの名無しさん
06/08/26 02:21:41
ちょっと質問ですが、
C#で書かれた.NETのプログラムがあり、ソースが公開されているとします。
このソースに手を加え、Rubyと通信できるようにして、RubyからC#のプログラムを
コントロールしたり監視したりしたいとき、.NET→Ruby間の通信方法は、何が一番適切でしょうか。
条件は、
・C#プログラム側で発生した変化を、出来るだけリアルタイムにRuby側で感知したい。
・Ruby側から.NETにも情報を渡したい(双方向の通信)。
・現時点では1台のマシンの中だけで閉じた状態のみを想定。
114:デフォルトの名無しさん
06/08/26 02:27:41
何が一番適切か?というのは、
・.NET、Ruby側ともその通信手段のライブラリが用意されており実装は容易。
・通信の切断、再接続など、出来るだけライブラリ内で吸収していて、あまり記述しなくてもいいのが理想的。
つまり、作成も管理も一番簡単なのはどれでしょうという質問です。
115:デフォルトの名無しさん
06/08/26 02:31:32
socket
116:デフォルトの名無しさん
06/08/27 04:10:41
fxruby1.6.0がラッパしてるfox-toolkitの1.6.0でUnicodeをサポートする
ようになったらWindows9系ではfxrubyのプログラムが動作しなくなった
URLリンク(fox-toolkit.net)
Windows 95/98/ME
FOX requires the Microsoft Layer for Unicode on Windows 95/98/Me Systems.
For more information see the [MSLU website].
なんかMSLUとか言うのをどうにかすればいいらしいけど
どうしたらいいの?
117:デフォルトの名無しさん
06/08/27 04:54:05
Microsoftがライブラリ配布してるからダウンロードしてインスコすれ
118:デフォルトの名無しさん
06/08/27 05:04:43
どっか説明してるサイトとかありますか?
119:デフォルトの名無しさん
06/08/27 06:22:39
ぐぐれ
120:デフォルトの名無しさん
06/08/27 06:55:54
ライブラリの名前だけでいいんだけど
unicows.dll ← これ?
121:デフォルトの名無しさん
06/08/27 22:31:03
vrubyの画面にwebbrowserを貼り付けるサンプルは、
URLリンク(vruby.sourceforge.net)にあるが、
vrubyの画面にexcelを貼り付けられないものだろうか?
と思って検索したら、
URLリンク(rd.search.goo.ne.jp)
に「VBとかだとExcelをフォームに貼り付けたりできたじゃん(おぼろげな記憶)。それはきっとOLEとか
ActiveXでできてるだろうからvrubyでも可能なはず。OLEブラウザで名前を調べてテストしたが、
うまくいかん。あれは本当にOLEだったのか?そのへん調べてみるとOLEコンテナというシロモノらしい。
だめぽい。」
とある。
vrubyの画面にexcelは貼り付けられないということでFA?
同じ発想でOOo.orgのcalcを貼り付けられないか調査中。OOo自体はActiveXとして使えるらしいが、
URLリンク(openoffice-docj.sourceforge.jp)
OLEブラウザをみても、それに当たる物が見つからない(OOoインストール時にActiveXは選択している。)
vruby以前の問題でうろうろしているが、成功例のサンプルとかどこかにある?
122:デフォルトの名無しさん
06/08/27 22:36:13
両方無理
123:デフォルトの名無しさん
06/08/27 22:52:38
>>121
リンク先は読んでないが、Excelは「OLEサーバ」。
OLEオートメーションを使うためには、入れ物が「OLEコンテナ」である必要がある。
vrubyの実装がどうなっているのか知らないけど、そうなってないなら出来ない。
COMやActiveXを使えるからといって、OLEオートメーションが出来るとは限らない。
C/C++だってそうでしょ?
124:デフォルトの名無しさん
06/08/28 00:18:32
>>122-123
無理っすかあ。残念。
125:113
06/08/28 03:13:02
>>115
socket が一番簡単ですか?同じマシンで閉じているので
ネットワーク通信ではなくプロセス間通信でもいいのですが。
>>121のActiveXの話をみて、113に書いた条件とは少し変わってしまいますが、
C#とrubyとの接続方法として、C#でActiveXコンポーネントを作成して
vrubyに貼り付けたりというのもあるのかもしれないと思いました。
126:デフォルトの名無しさん
06/08/29 09:45:56
VR(Vert|Horiz)TwoPaneでセパレータをドラッグしたときにゴミが残るのうちだけ?
@pane_2.moveしたときに再描画されなくてPatBltで描いた線が残ったままになってる。
もう一度PatBltして線を消すとか、@pane_2.refreshをするとかすればいいんだけど、
そうなってないってことは、うちの環境がおかしいの?
127:デフォルトの名無しさん
06/08/29 15:03:12
複数Excelファイルの集計とか、全部Rubyでやってるよ。
最初はVBAでやってたけど、Ruby使い出すともう戻れないねぇ・・・
でも、Visualプログラミングはまだやる気起きないなぁ。
Delphi6で不満な局面がないし
128:デフォルトの名無しさん
06/08/29 21:33:47
>>125
別にソケットはネットワーク通信専用じゃないけど
どうしてもいやならここらへんでも(つかったことないけど)
URLリンク(jp.rubyist.net)
>>126
これかね
URLリンク(vruby.sourceforge.net)
129:デフォルトの名無しさん
06/08/30 08:33:29
VRTwoPaneFrameは修正したけど、VRTwoPaneの方は修正してないみたいだね
130:デフォルトの名無しさん
06/08/30 08:44:06
>>127
王道はずしまくりですね
131:デフォルトの名無しさん
06/08/30 19:18:23
>>121
> vrubyの画面にwebbrowserを貼り付けるサンプルは、
> URLリンク(vruby.sourceforge.net)にあるが、
> vrubyの画面にexcelを貼り付けられないものだろうか?
とりあえず、vrubyの画面にexcelを貼り付ける方法を発見。
上記のURLリンク(vruby.sourceforge.net)にあるActiveXのサンプル画面で、
"URLリンク(www.yahoo.co.jp)
と書かれている部分を、
"file://c:\\test.xls"
のような、実在するexcelファイルを指定すれば出来る。
(そのパソコンのセキュリティの設定と関係してくるが。)
次に、ここで表示したexcelを、vruby側からコントロールしたいのだが、さてどうしたものか。
132:デフォルトの名無しさん
06/08/30 19:31:16
ActiveScriptRubyのActiveScript部分のみのインストール手順(必要なファイルとか登録するレジストリ情報とか)
とかってどこかにないですかね?
ActiveScriptRubyが入っていないPCでRubyで書いたHTAとかを動かしたいときに
関連物を全自動でさくっと登録したいです
133:デフォルトの名無しさん
06/08/30 22:07:00
>>132
artonさんのWikiに質問を書いてからblogのコメントに質問があるからWiki見ろゴルァとか書くと良いらしいと日記に書いてあったヨ。
>>131
documentを取得しようとするとExcelのインスタンスが取得できた稀ガス。
134:デフォルトの名無しさん
06/08/30 23:25:07
>>133
ちょっと試してみました。
@excel = @exp.ole_interface.Document # でExplorerAxControlのインスタンスからexcelを取り出し、
@sheet = @exp_document.Worksheets.Item("Sheet1") # で、シートを取り出し、
p @sheet.Cells.Item(3,2).Value # でC2のセルを表示
できました。
135:デフォルトの名無しさん
06/08/30 23:53:06
>>134
> @sheet = @exp_document.Worksheets.Item("Sheet1") # で、シートを取り出し、
は、
@sheet = @excel.Worksheets.Item("Sheet1") # で、シートを取り出し、
の間違いでした。
これが出来ると、excelの機能をまるまるvrubyのアプリケーションに使えそうで良い感じです。
136:デフォルトの名無しさん
06/09/03 09:45:06
Excelへの印刷まではrubyから制御してるんだけどさ、
プリンタのジョブが完了したとかあと何件残ってるとか監視したいんだけど
それはWin32OLEやASRで出来るもの? 無理?
どこから監視すればいいのかわからんとです。
137:デフォルトの名無しさん
06/09/03 12:29:06
>>136
コントロールパネルからプリンタの画面を見る。
ということが、Rubyから出来れば可能。出来なければ不可能。
138:デフォルトの名無しさん
06/09/03 12:36:58
URLリンク(www.tohoku.ricoh.co.jp)
win32apiの叩き方が分からないけど、こういうのがあった。
ユーザからしてみれば、ちょっとしたことだと思うんだけど
いざやってみようとすると敷居たかいのね orz
敷居が高いというか低レベルなところでゴニョゴニョしないとダメというか
ハンドルっていわれてもいまいち理解できていない今日この頃。
グチですまん
139:デフォルトの名無しさん
06/09/03 12:48:27
ネットワーク越しの対戦型囲碁ソフトってこれで作れます?
作れるけど困難?
GUIアプリは作ったことありません。プログラミング経験は、Perl と Ruby のCGIだけです。
C#とかを勉強して、Visual Studio で作る方が近道でしょうか?
140:デフォルトの名無しさん
06/09/03 13:00:07
できると思うけど…
GTPのライブラリはあるみたい?
URLリンク(www.hiroshima-pu.ac.jp)
141:デフォルトの名無しさん
06/09/03 14:16:42
>>139
140でFA
自力でやるなら、やり方によるがネットワークプログラミングはどっちでも変わらんと思う。
地道にやると何にしろ面倒。
dRubyを使ってもいいのならRubyのほうが楽だと思う。
142:デフォルトの名無しさん
06/09/03 14:36:14
GUIだからってかまえなきゃいいんじゃない?
Labelで○●+表示して、クリックイベント拾うとかw
通信を自前のメッセージにするのかGTPにも対応するかで
困難さはだいぶかわってくると思われ。
>>141が書いてるdRuby使った案だとViewをWin32ネイティブにも
CGIでのフロントエンドにもできていいんじゃない?
(256本網道編っぽい)
143:デフォルトの名無しさん
06/09/03 15:17:11
>>140-142
サンクス。
Rubyでやってみます。
144:デフォルトの名無しさん
06/09/08 07:35:28
pstoreがmswin32でバグってるてのは多用している自分にとってびっくりだった。
次バージョンでのバグ修正を期待します。
145:デフォルトの名無しさん
06/09/08 17:08:05
winユーザーには冷たいですから
146:デフォルトの名無しさん
06/09/08 21:00:38
one-click Ruby をインストールしているマシンに
ActiveScriptRubyをインストールしたらまずいことになりますか?
やはりone-click Rubyをアンインストールしたほうがいいのでしょうか?
147:デフォルトの名無しさん
06/09/08 22:37:25
パスが違えば問題ないんじゃない?
148:デフォルトの名無しさん
06/09/09 00:50:01
One-click をインストールすると、環境変数
RUBYOPT=-rubygems
が設定されるから、場合によっては不都合あるかもな
149:デフォルトの名無しさん
06/09/09 02:41:58
コマンドプロンプト毎に環境変数設定するバッチファイル書けば?
150:デフォルトの名無しさん
06/09/09 17:37:43
IronPython正式版が出たけど、はやくRubyも.NETで動くようにならないかなと期待。
URLリンク(plas.fit.qut.edu.au)
が一番、プロジェクトとして近いのかな?
151:デフォルトの名無しさん
06/09/09 20:14:04
>>150
IronRubyてのを聞いた気が…。
152:デフォルトの名無しさん
06/09/10 01:56:51
>>147
>>148
>>149
環境変数を弄ればいけそうなのですね。
挑戦してみます。
ありがとうございました。
153:デフォルトの名無しさん
06/09/12 05:24:29
なぜWin32API.soは小文字にしない
154:デフォルトの名無しさん
06/09/12 08:26:53
固有名詞
155:デフォルトの名無しさん
06/09/25 11:55:05
WinとかWINで統一感ないね
156:デフォルトの名無しさん
06/09/26 21:36:23
Win32APIのオブジェクトって
def playsound(filename, option = SND_SYNC)
api = Win32API.new('winmm.dll','sndPlaySoundA',%w(p i),'i')
api.call(filename, option)
end
より
def playsound(filename, option = SND_SYNC)
$win32playsound ||= Win32API.new('winmm.dll','sndPlaySoundA',%w(p i),'i')
$win32playsound.call(filename, option)
end
みたいにして使いまわしたほうがいいんですかね。
オブジェクトの生成って重いんですか?
157:デフォルトの名無しさん
06/09/26 21:44:17
なぜ試さない/コードを見ないんだろう
158:デフォルトの名無しさん
06/09/26 22:15:06
定数でいいんでねか
159:デフォルトの名無しさん
06/10/02 16:26:16
USB Joypad を ruby上で利用する方法探してます。
ライブラリないしサンプルとなるコードってどっかにないですか?
160:デフォルトの名無しさん
06/10/02 21:24:23
SDLを使うとか?
161:デフォルトの名無しさん
06/10/02 21:26:31
っ URLリンク(www.kmc.gr.jp)
162:デフォルトの名無しさん
06/10/06 11:31:39
ruby -e "`cls`"
でcmd窓がクリアされないんですが他にいいやり方ないですか
163:デフォルトの名無しさん
06/10/06 11:55:04
ruby -e "system('cls')"
164:デフォルトの名無しさん
06/10/17 04:58:43
東京大学教養課程の第一プログラミング言語がRubyに
URLリンク(d.hatena.ne.jp)
URLリンク(b.hatena.ne.jp)
165:デフォルトの名無しさん
06/10/29 16:36:57
RubyでDDEを直接扱うライブラリありますか?
vrubyのGUI経由でのライブラリがあるのは知っているのですが、
データをrequestするメソッドと返り値をとるメソッドが分かれてしまっているのが
使いづらくて・・・。
166:デフォルトの名無しさん
06/11/06 21:16:53
Win32APIをDLで置き換えるってのはいつから?
167:デフォルトの名無しさん
06/11/07 02:17:53
もう置き換えてるはずなんだがな。
168:デフォルトの名無しさん
06/11/16 01:53:02
いまさらだけど
vruby061102リリース記念age
169:デフォルトの名無しさん
06/12/03 19:43:36
Bad file descriptor - connect(2) (Errno::EBADF)が出やすいのはwindowsだから?
170:デフォルトの名無しさん
06/12/04 02:12:53
なんかどっかで聞いたことあるな
Threadの中でやるとよくないんだっけ?
171:デフォルトの名無しさん
06/12/05 09:01:56
俺の中ではgemが出すエラーだな。
rubyforgeが落ちてる時の。
172:デフォルトの名無しさん
06/12/10 04:27:31
ネット系は至る所からTimout::Errorがやってくる恐怖のライブラリ
173:ビジネスニュース+
06/12/26 03:21:13
ビジネスニュース+ 板
URLリンク(news18.2ch.net)
【ネット】「Windows Vista」からネット経由でセブンイレブンのコピー機にプリントアウト![12/25]
スレリンク(bizplus板)
174:デフォルトの名無しさん
06/12/26 04:18:38
Apolo使ってる人いる?
175:デフォルトの名無しさん
06/12/26 08:25:58
>>174
visualuよりもお手軽だしDelphi部品使えるから、たまに使うけど、
Apollo側からgem使うのがメンドイので、ふつーのmingw版と
共存させてる(おかげでPATHの関係でたまにハマる)
176:デフォルトの名無しさん
07/01/04 10:34:07
Apoloに関しては、
別にDelphiだけでいいじゃんという究極の問題点があるからな
無論、正規表現とかを使いたいときはありだけどさ
177:デフォルトの名無しさん
07/01/04 10:55:57
つーかDelでも正規表現使えるように環境整備しとけって。
178:デフォルトの名無しさん
07/01/08 01:56:39
まあ、単発のユーティリティとか、プロトタイピングでしかRubyつかってないからなあ、俺は。
GUIは、Delphiでいいやという気もする
179:デフォルトの名無しさん
07/01/09 02:44:11
DelphiとPascalは死んだみたい
URLリンク(www.tiobe.com)
180:デフォルトの名無しさん
07/01/09 23:08:01
exerb 4.1.0 上げ
181:デフォルトの名無しさん
07/01/09 23:55:22
VisualuRubyのフォーム作りはFormDesignerが一番楽なのか?
更新止まってるが、代替アプリやスクリプトってないよね。
182:デフォルトの名無しさん
07/01/10 03:09:17
exerbキター
183:デフォルトの名無しさん
07/01/10 21:43:17
VisualuRubyのフォーム作りはFormDesignerが一番楽なのか?
更新止まってるが、代替アプリやスクリプトってないよね。
184:デフォルトの名無しさん
07/01/10 22:38:13
ラクっつか、それしかないんじゃ?
(VBだのDelphiだのみたいに)かゆいとこまでは手が届かないから
細かいとこは結局手でいぢってるけど、おおまかな部分をつくるものだと
おもって、あんまり気にしてないや
185:デフォルトの名無しさん
07/01/10 22:43:50
ごめん。1日遅れの二重投稿してたorz
今気づいて自分の目を疑った。
186:デフォルトの名無しさん
07/01/12 22:16:42
ActiveScriptRubyをアップデートするために1.8.4をアンインストールしたらMS系のアプリがやられた。
.NET FrameWork とかスクリプティングホストで使ってる共用ライブラリも巻き込んでないか?
187:デフォルトの名無しさん
07/01/18 22:59:34
FormDesignerがいよいよ更新再開?
URLリンク(yslab.atnifty.com)
188:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6
07/01/19 01:59:27
そーいえば俺も困ったことになった
アップグレードしようとしたらインストーラがInternal Error吐くようになったり。
レジストリの手動削除を試してみるといい
HKEY_CURRENT_USER\Software\Microsoft\Installer\
配下にActiveRubyが作ったエントリがあるからそいつを手動削除
189:デフォルトの名無しさん
07/01/31 01:21:15
rubygemsはもっと高速化できぬものか
190:デフォルトの名無しさん
07/02/02 02:02:06
win32api と win32module だけでテキストボックスの中身を取得しようとするとどうすればいいんでしょうか?
require 'win32/user32'
include Win32
hWND = 11111 # ハンドル
str = " "*255
SendMessage.call( hWND, WM_GETTEXT, 255, str)
としてはいけないんですよね。
格納先をアドレスで指定しなければならないのですよね?
うまいことstrをAPIに渡してやる方法はないでしょうか。
191:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6
07/02/02 02:13:42
GetWindowTextA = Win32API.new('user32','GetWindowTextA','LPI','I')
buf = "\0" * 500
code = GetWindowTextA.call(hwnd, buf, buf.size)
text = buf.unpack("A*").first
192:デフォルトの名無しさん
07/02/02 02:33:21
早速のお返事ありがとうございます。
しかし、それだとキャプションしか拾えないようですorz
193:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6
07/02/02 02:55:26
ん?
エディットコントロールのハンドルに対してGetWindowTextもしくはWM_GETTEXTやると
テキストを取得する動作になる
194:デフォルトの名無しさん
07/02/02 03:16:22
プロセスが違う場合、共有メモリとかほげほげ
195:デフォルトの名無しさん
07/02/10 11:21:11
win32oleを使ってExcelファイルを読み込むプログラムを高速化したいのですが
どうすれば速くなりますか?
読んだ後は、テキストファイルに書くだけです。
同じような構造のシートを10シート以上読み込むことがあります。
一つのシートは大体、100columns*100rowsより大きなサイズです。
全てのシートを読んだ後、データを整理して望むフォーマットで出力します。
プロファイルを取った結果、読み込んでいる部分が遅いという判断に至りました。
Rubyのバージョンは1.8.5です。
質問なのでageさせていただきます。
196:デフォルトの名無しさん
07/02/10 12:43:16
まずは読み込んで書き出す部分のソースを見ないことには何とも言えない。
コーディングが悪いのか、RubyとCOMの組み合わせの限界なのか。
197:デフォルトの名無しさん
07/02/10 12:44:58
OLEだと遅いよねー。
ODBCに登録してからの呼び出しだとアンマリ変わんないかな。
ヘタレなので元のExcel側でCSV書き出ししてから
rubyで処理するとかしか思いつきません。
198:デフォルトの名無しさん
07/02/10 15:05:49
で、あと何年待ったらパス区切り文字のデフォルトが\にならないバグが改善されるの?
199:デフォルトの名無しさん
07/02/10 22:59:42
バグじゃないから仕様変更の理由を添えて開発陣を説き伏せない限り一生変わりませんが
200:デフォルトの名無しさん
07/02/10 23:16:12
Matzにっきを読むとわかるが、反論の仕方が「~~で十分」なので、言うだけ虚しい。
201:デフォルトの名無しさん
07/02/11 18:28:35
現在、vrubyでランチャーのような物を作っています。
値を入力してボタンをクリックすると
コマンドラインからソフトを立ち上げ、入力フォームを非表示、又は消去したいんです。
何かに対して、Visible = false をするのかなと思うのですがうまくいきません。
MyForm < VRForm という形で宣言しています。
どうぞよろしくお願いします。
202:デフォルトの名無しさん
07/02/11 19:25:56
非表示は、form.visible = false みたいな感じだと思う
vrubyだったらhideとか定義されてたはず
203:201
07/02/11 21:26:08
>>202 ありがとうございます!
さっそくhide = true なぞを試してみます!
204:デフォルトの名無しさん
07/02/11 21:37:42
hide() だよ
205:デフォルトの名無しさん
07/02/12 13:04:12
>>193
>>194
遅くなりましたがありがとうございます。
確かに外部ソフトのeditコントロール内のテキストを拾おうとしています。
ruby+apiだけでは無理でしょうか。
ProgIDも見つからず、どうやらCOMサーバとして使用することは不可能なようです。
やりたいこと
VB(ver.5)で作られた外部ソフトのeditコントロールに入力された文字列を拾いたい。
WinSpectorで調べたクラス名:ThunderRT5TextBox
206:デフォルトの名無しさん
07/02/20 23:29:27
WinXPSP2で
Dir.glob('C:/本/*')だと何も引っかからないが、
Dir.chdir('C:/本');Dir.glob('*')だと正常に読める。
なんで?
207:デフォルトの名無しさん
07/02/21 01:05:31
$KCODEは?
208:デフォルトの名無しさん
07/02/21 02:13:30
>>206,207
SJISIでそ。
「本」の2バイト目が'{'と同じなので、誤判定していると思われ。
209:デフォルトの名無しさん
07/02/21 02:27:00
1.8.6で解決しそうなふいんき(←なぜか変換できない)
210:デフォルトの名無しさん
07/02/21 07:54:30
>>209
> ふいんき(←なぜか変換できない)
このネタいいかげんウザイw
211:デフォルトの名無しさん
07/02/21 17:18:25
206みたいな前世紀的ネタで七転八倒する言語のスレだからな
212:デフォルトの名無しさん
07/02/21 18:18:59
Rubyに限らず文字コードまわりはまだしばらく課題となるだろうが、
今ソース見てるんだけどglobにはダメ文字の対処がないな。
213:デフォルトの名無しさん
07/02/22 01:31:33
>>212
どのソース?
>>209のいうとおり1.8.6で対応したものが入るものだと思うんだけど。
214:デフォルトの名無しさん
07/02/22 01:41:01
>>213
あー、CVS見てた。
もうsvnだもんな。
忘れてた。
215:デフォルトの名無しさん
07/03/05 13:48:16
age
216:デフォルトの名無しさん
07/03/31 01:30:13
>gem install rails
ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError)
Bad file descriptor - connect(2)(Errno::EBADF)
インストールできないです。
FW全てカット セキュリティ関連ソフトも起動せずにやっても変わりません。
ちなみにプロキシは無い環境です。
217:デフォルトの名無しさん
07/03/31 05:54:09
>>216
何故、誰も見てないここで聞く?
gemの他のコマンドは利く?
gem search rails --remote
とか
218:デフォルトの名無しさん
07/04/01 21:39:14
>>217
サンクス
他で聞きます。
219:デフォルトの名無しさん
07/05/06 11:40:49
>216
rubyについては今日始めてプログラム板に来ました。
他で聞かれたようですね。串で経験があるという人がいましたね。解決済み
でしょうか。
私は、先月中旬から数日間Windows+Oracle10g環境で「Railsによるアジャイル
Webアプリケーション開発」という本の100ページまで試してみた者です。
(その後rubyを触る時間がなくて放っています)
私も同様のエラーが出た記憶があります。
他で答えていた人がいるようにプロキシが悪さをしている可能性があります。
私が覚えているrubyに関する変わった作業は、以下の二つです。
1)環境変数をさわりpathを通した。
2)gem installする時に(会社で時間外に試していたのですが)、プロキシ
不要の線から外に繋いだ。
Oracleに関しては100ページまでは以下の三つが変わった作業でした。
1)本にあるMySQL用のcreate table文やrbファイルの命令をOracle用に変更
2)table毎に順序オブジェクトを作成(例:line_items→line_items_seq)
3)NLS_LANGをAL32UTF8に変更
他の環境との関係もあり面倒なので、コマンドプロンプト内で変更
しています。
例)
>SET NLS_LANG=JAPANESE_JAPAN.AL32UTF8
>ruby script/server
220:デフォルトの名無しさん
07/05/09 13:40:08
>>219
> 私が覚えているrubyに関する変わった作業は、以下の二つです。
> 1)環境変数をさわりpathを通した。
「変わった作業」なのかー。
221:デフォルトの名無しさん
07/05/09 21:58:50
2) は変わってると思った
222:デフォルトの名無しさん
07/06/11 12:15:05
わざわざ、環境変数なんて設定させるなよ、とは思うね
223:デフォルトの名無しさん
07/06/11 16:08:46
デフォルトで/usr/local/binにインストールしろよ、と?
224:デフォルトの名無しさん
07/06/11 16:17:15
Windowsで /usr/local/bin もなにもないだろ
225:デフォルトの名無しさん
07/06/11 22:30:30
オレのマシンにはありますがなにか。
226:デフォルトの名無しさん
07/06/11 23:56:07
>>225
Windowsなのに/なのか。珍しいな。
そういえばRubyの内部でファイルのディレクトリ区切りが"/"なのは気持ち悪い。
227:デフォルトの名無しさん
07/06/12 01:13:37
WindowsでもAPIレベルでは/も使えるからな。
でもそんなお前に Wuby。
228:・∀・)っ-○◎●
07/06/14 00:44:20
AN HTTPDで仮想パス使えるな
229:デフォルトの名無しさん
07/06/28 16:37:49
ruby/GSL 1.9.0をwindowsマシンにいれて、ブイブイ言わしている人いますか?
pathでこけ、makeでこけ、あきらめ気味です...
230:デフォルトの名無しさん
07/06/28 21:22:32
Vista x64 にしたのですが、
x64 用のバイナリってどこかで配布してないですか?
231:デフォルトの名無しさん
07/06/28 21:39:17
>>230
ないと思う。
いまusaさんがtrunk向けに作業中。
URLリンク(blade.nagaokaut.ac.jp)
232:・∀・)っ-○◎●
07/06/29 03:05:34
お荷車がLLP64にまともに対応してないし。
233:デフォルトの名無しさん
07/06/29 14:11:40
>>232
そうなの? 具体的にどの辺が?
234:デフォルトの名無しさん
07/06/30 18:25:31
すみません。
gem で mysql 2.7.3 (mswin32) を入れたのですが、require すると以下のエラー出ます。
mysql を使うにはどうすればいいのでしょうか。
c:/usr/local/lib/ruby/gems/1.8/gems/mysql-2.7.3-mswin32/ext/mysql.so: 193: %1 は有効な Win32 アプリケーションではありません。 - c:/usr/local/lib/ruby/gems/1.8/gems/mysql-2.7.3-mswin32/ext/mysql.so (LoadError)
あと、gem の使い方がいまひとつわかりません。
RUBYLIB に手動でインストールしたライブラリのパスを追加していくのでしょうか。
235:234
07/07/01 00:14:09
すみません。自己解決しました。
libmySQL.dll が x64 バージョンだったので動かなかったっぽいです。
236:・∀・)っ-○◎●
07/07/01 17:49:21
鬼車はね、sizeof (long) == sizeof (void*) きめうちなんだよな。
longが32ビットでポインタが64ビットのWin64(x64)のプログラミングモデルをまともに想定してない。
237:デフォルトの名無しさん
07/07/03 11:14:21
>>236
具体的にはどの辺が?
238:デフォルトの名無しさん
07/07/03 13:21:47
LLP64では、ポインタだけが64ビットになります。int型とlong型は32ビットのままです。
239:デフォルトの名無しさん
07/07/03 13:56:16
>>238
そんなことはこの話についてこれるやつは全員承知してると思う。
鬼車のコード中の sizeof (long) == sizeof (void*) を決め打ちしてるところの例を教えて欲しい。
240:デフォルトの名無しさん
07/07/03 14:21:09
通りがかりですが、話を見て64でコンパイルだけしてみました
warningは↓の3つ出ました
regcomp.c:557: warning: cast from pointer to integer of different size
regexec.c:1734: warning: cast from pointer to integer of different size
regexec.c:1799: warning: cast from pointer to integer of different size
241:デフォルトの名無しさん
07/07/03 14:24:22
原因はこれですね
#define GET_ALIGNMENT_PAD_SIZE(addr,pad_size) do {\
(pad_size) = WORD_ALIGNMENT_SIZE \
- ((unsigned int )(addr) % WORD_ALIGNMENT_SIZE);\
if ((pad_size) == WORD_ALIGNMENT_SIZE) (pad_size) = 0;\
} while (0)
#define ALIGNMENT_RIGHT(addr) do {\
(addr) += (WORD_ALIGNMENT_SIZE - 1);\
(addr) -= ((unsigned int )(addr) % WORD_ALIGNMENT_SIZE);\
} while (0)
242:デフォルトの名無しさん
07/07/03 14:28:20
これだけなら影響はなさそうですけどね。
まあサラっと見ただけですが
243:デフォルトの名無しさん
07/07/03 14:59:48
あ、すみません。
私の環境では long が64ビットなので、int の部分しかあぶりだせませんでした。
244:デフォルトの名無しさん
07/07/03 15:05:18
>>241
x64だとPLATFORM_UNALIGNED_WORD_ACCESSがdefineされるから該当コードは存在しない。
245:・∀・)っ-○◎●
07/07/04 22:35:04
怖ぇだろ常識的に考えて
246:デフォルトの名無しさん
07/07/05 00:12:16
ようするに根拠はない、と。
247:デフォルトの名無しさん
07/07/05 00:22:50
ダンゴ使えねぇ~
248:デフォルトの名無しさん
07/07/05 02:37:21
使えないどころか、害悪だな。糞以下。
249:デフォルトの名無しさん
07/07/09 22:35:10
ここ↓から、HTML help for VisualuRuby (JA)というのをダウンロードしたのですが、
何も表示されません。自分の環境が悪い?
Ruby
URLリンク(homepage3.nifty.com)
250:デフォルトの名無しさん
07/07/09 23:41:17
うちも何も表示されません。
HTML Helpの作成ミスでは?
251:デフォルトの名無しさん
07/07/10 10:38:31
うちは出るなあ。
HTML Help Control Version 4.74.9273
252:・∀・)っ-○◎●
07/07/10 21:46:04
>>246
64bitアドレス型から32bit整数へのキャストがある時点で怖い怖い。
253:デフォルトの名無しさん
07/07/11 09:35:08
>>250
やっぱ見れないですか。
>>251
見れる人もいるんだ。
超初心者だからヘルプがないとよく分からない。。。orz
254:デフォルトの名無しさん
07/07/11 14:58:05
>>252
だからどこにあるんだよ
255:デフォルトの名無しさん
07/07/11 17:58:05
Visualu RubyのFormdesignerのヘルプってないですかね?
質問があります。
FormdesignerのEditというコントローラ?、フォームの上に置くテキスト入力
できるやつです。
数字(ポート番号とIPアドレス)を入れるようにしているんですけど、入力制限
したいんですよね。
例えば、ポート番号なら1~65535、IPアドレスなら1~255、という感じに。
どのようにすればいいのでしょうか?
256:デフォルトの名無しさん
07/07/11 21:13:13
win32/config.hをテキトーにx64用に書きなおしてビルドしてみ?
小さい型へのキャストの警告でまくるから。
257:デフォルトの名無しさん
07/07/11 21:33:02
テキトーに書き換えないで真面目にx64版をビルドすりゃいいと思うんだが。
258:デフォルトの名無しさん
07/07/11 21:48:02
試行錯誤しながら何とかできました。
勉強用で、ルータのUPnPを利用してポートを開放するスクリプトを作りました。
自分のバッファローのWHR-G54Sではうまく動作しました。
他のルータでもうまく動作するかの確認をお願いします。
VisualuRubyが動く環境で実行できます。
ファイルは↓です。
URLリンク(www.uploda.org)
”OpenPort.rb”を実行してもらえれば、GUI画面が立ち上がります。
259:デフォルトの名無しさん
07/07/11 21:58:53
config.hの書き換えだけで対応できないからこそ型サイズ決めうちなんだろ。
260:デフォルトの名無しさん
07/07/11 22:24:33
>>252
怖いのはお前の顔面だろカス
261:デフォルトの名無しさん
07/07/11 23:36:01
x64 windows版が既にマージされてるという事実を見るだけで、
明確な根拠を示せない批判が全て無意味になるんだが。
config.hがどうこうとか言ってる奴は書き換え方が悪いんだろ。
262:デフォルトの名無しさん
07/07/12 00:56:11
>>249 ファイルのプロパティに「ブロックの解除」ってボタン無いですか?
解除しないとhtmlhelpがちゃんと開けないようです。
263:デフォルトの名無しさん
07/07/12 08:42:15
>>262
ありがとう。
その通りでした。
264:デフォルトの名無しさん
07/07/14 17:34:15
vruby で ListView をいじってるんですが、
マウスのクリックイベントって拾えませんか?
ダブルクリックは拾えるみたいですが、右クリックも拾いたいのです。
require 'vr/vrcontrol'
require 'vr/vrcomctl'
require 'vr/vrhandler'
class MyListview <VRListview
include VRMouseFeasible
def vrinit
super
addColumn("name",120)
insertColumn(1,"ext",50)
addColumn("size",80)
addColumn("atime",120)
insertMultiItems(0,[ [["test2","dat"],0], [["foo","bar"],1] ])
end
end
265:デフォルトの名無しさん
07/07/14 17:35:27
module MyForm
def construct
self.move(10,10,600,400)
self.caption="TreeList TEST"
addControl(MyListview,"lv1","lv", 0, 0, 300, 400)
end
def lv1_dblclicked
p 'dblclicked'
end
def lv1_lbuttonup(shift,x,y)
p [shift,x,y]
end
def lv1_columnclick(subitem)
p subitem
end
end
frm=VRLocalScreen.newform
frm.extend MyForm
frm.create.show
VRLocalScreen.messageloop
こんな感じでやっても、lv1_lbuttonup に処理がこないのです。
266:デフォルトの名無しさん
07/07/14 18:37:47
vrubyはしらんけどdelphiのlistviewにはonmousedownというイベントがあって通常それで拾う。
267:デフォルトの名無しさん
07/07/14 18:39:08
右クリックでlbuttonupが来ると?
268:264-265
07/07/14 18:48:10
レスありがとうございます。
>266
そうですよね。
普通イベントハンドラがデフォルトで定義されているのですが
vruby の VRListview では定義されてないようです。
Spy++でみると、WM_RBUTTONDOWN, WM_RBUTTONUP
などのメッセージは ListView に来てます。
>267
失礼・・。まずは lbuttonup で試してました。
rbuttonup と読み替えてください。
最終的にやりたいことは右クリックを拾う、です。
lv1_dblclicked が呼ばれると、なぜか
lv1_lbuttonup が同時に後から呼ばれていることを発見。
ウィンドウメッセージは ListView に飛んできてるので
おそらくは vruby 側で何か処理を足してやれば
めでたくマウスの右クリックがとれるはずなので
もうちょいがんばってみます。
269:264-265
07/07/14 20:55:07
う~む…;
VRComCtlContainer#self_wmnotify(msg)
にいったんメッセージが飛んできて、ディスパッチされるらしい。
ハンドラの名前は VRNotifyControl#notifycontrolinit で登録されてる。
addNotifyHandler(0xfffffffe,"clicked",MSGTYPE::ARGNONE,nil)
addNotifyHandler(0xfffffffd,"dblclicked",MSGTYPE::ARGNONE,nil)
:
(FormDesigner を使っているとわからないメソッド)
MyForm#lv1_clicked を定義してみたら、イベントが飛んできて捕まえられました。
ただ lv1_lbuttonup(shift, x, y) と違って座標などがとれない。
MyListview クラスに include VRMouseFeasible すると、
リストビューをダブルクリックしたときにのみ
MyListview2#self_lbuttonup(shift, x, y) がきちんと呼ばれる
不思議な現象になる。
たぶん理由があって、ちゃんと突き詰めれば動くのだろうけど、もういいぽ・・。
とりあえず lv1_clicked にて hittest を適当に処理することで
対処することに決めました。5 時間かかった~…。
270:デフォルトの名無しさん
07/07/14 20:57:05
なにをごちゃごちゃやってるのか知らんけど
VRubyのリファレンスちゃんと嫁
271:264-265
07/07/14 21:09:06
正しい。
でもリファレンス嫁はちょっと漠然としてて範囲が広くてきっついよ。
ここ見れ、とか、メソッドやクラス名のヒントを
つ[メソッド名]
とかやってくれた方が助かるわー迷ってるんだから;
272:デフォルトの名無しさん
07/07/14 21:43:42
self_rbuttondown
273:264-265
07/07/14 22:59:03
>272
うぉぉ! できた!
rbuttondown(shift, x, y) と lbuttondown(shift, x, y) は、
include VRMouseFeasible でとれた。
(buttonup 系はなぜかとれない)
どうもありがとう!非常に助かりました m(_ _)m
URLリンク(www.osk.3web.ne.jp)
ここにあるのはなんだ~
274:デフォルトの名無しさん
07/07/14 23:24:17
おめでとう
漏れも
>>264-268
見てたときは思い出さなかったんだけど
>>269
の5時間かかった~っていうのを見て
3年ほど前に同じ問題で半日ほどはまったことがあるのを思い出した
275:デフォルトの名無しさん
07/07/16 13:50:21
vruby でウィンドウが閉じるときに呼ばれるような
onClose とか onDestroy ってどこかにありますか?
X ボタンで閉じたときに終了処理をするイベントが拾えなくて
困ってるんですけど、msghandler をいじるしかないのかな?
と思って grep したら
include VRClosingSensitive
して self_close で拾えばいいのか。OK。自己解決。
276:デフォルトの名無しさん
07/08/05 11:49:21
.
277:デフォルトの名無しさん
07/08/19 18:07:24
メモ
font = @screen.factory.newfont("MS Gothic", -13)
self.class::const_set("DEFAULT_FONT", font)
で、デフォルトフォント全変更
278:デフォルトの名無しさん
07/08/25 09:33:44
>>258
試してみたいのですが、すでにうpろだから消えているような。。。
279:デフォルトの名無しさん
07/08/25 09:34:41
>>66
vrubyで画面に出てくるところを動かすときは、GC.disableを一時的にするといいって聞いたことがある。
280:デフォルトの名無しさん
07/08/25 09:58:26
rbnamazuってどこからDLできますか?
本家のダウンロード、リンク切れになってる。
URLリンク(www.namazu.org)
昨夜から探して別のところで0.1を拾えただけ(最新0.4)
ヘルプ!
281:デフォルトの名無しさん
07/08/25 10:25:25
>>278
どもです。
でも、趣味なのでもうプログラミング熱は冷めてしまいましたw
URLリンク(gzm.s201.xrea.com)
282:デフォルトの名無しさん
07/08/25 17:50:24
>>281
ありがとうございます。いただいていきます。
まぁ、自分の勉強のために見たいという気持ちもあるのでっ。
使ってみてですが、「ポート解放失敗」(泣)
プログラミング熱は冷めたとのことですが、Aterm WD701CVでの失敗を報告しておきます。
283:デフォルトの名無しさん
07/08/25 19:12:39
>>282
あらら、失敗しましたかw
いやいや、私もRubyでソフトを作るのはこれが2作目です。
今度はC#をやろうと思い、挫折して、プログラミング熱が冷めましたw
284:デフォルトの名無しさん
07/08/29 04:43:00
FormDesignerで最大化ボタンオフでタブストップをやりたいと思ったのですができず…
require 'vr/vruby'
require 'vr/vrcontrol'
class Form1 < VRForm
def construct
self.maximizebox=false
self.caption = 'form1'
self.move(140,124,335,218)
addControl(VREdit,'edit1',"edit1",38,30,160,30,0x10000)
addControl(VRButton,'button1',"button1",200,30,88,32,0x10000)
end
end
VRLocalScreen.start Form1
WS_OVERLAPPEDWINDOW & ~WS_MINIMIZEBOX的なやり方って存在しないのですかね?
285:デフォルトの名無しさん
07/08/31 02:21:17
TABSTOPはダイアログでしか使えんよ。
そして、maximizebox=はダイアログでは使えんらしい。(なぜか)
ちょっと書き換えるが、
require 'vr/vruby'
require 'vr/vrcontrol'
require 'vr/vrdialog'
class Form1 < VRModalDialog
def construct
self.maximizebox=false
self.caption = 'form1'
self.move(140,124,335,218)
addControl(VREdit,'edit1',"edit1",38,30,160,30,0x10000)
addControl(VRButton,'button1',"button1",200,30,88,32,0x10000)
end
def maximizebox=(bool) #こぴぺ&修正
VRWinComponent::WinStyle.new(self).setter(WStyle::WS_MAXIMIZEBOX, bool)
end
end
VRLocalScreen.openModalDialog nil,nil,Form1
かな。
286:デフォルトの名無しさん
07/09/05 16:39:41
FormDesignerだけど、例えばEditコントロールを貼っつけて、
マウスで適当にクリックしたりしてると、
勝手にコントロールの位置がずれたり、
サイズが小さくなったりするんだけど俺だけ?
イライラするのですが回避方法ないでしょうか。
287:デフォルトの名無しさん
07/09/06 07:26:00
俺もそれよくなる。
結局height値を直接打って元に戻すしか方法ないのかね。
VRTabbedPanelで各タブパネルの上でカラー選択ダイアログを直接呼び出そうとするとエラーがでるので
@tab.send_parent2 1,"hoge","clicked"
で親に渡してダイアログを呼び出してるんだけど、取得した色番号を元のパネルのEditに戻したいんだけど
def tab_panel1_hoge_clicked
@tab.panels[1].foo.text = chooseColorDialog.to_s
end
でできなくorz
親から孫を直接指定ってどうやるんですか?
288:デフォルトの名無しさん
07/09/17 21:06:44
それにしても、みんなよくVisualuRuby使う気になれるな
俺はApolloを先に使い始めたから、どうしてもVisualuRubyのAPIに慣れない
機能面の差はそんなにないと思うんだけど
クラスやメソッドの構成に癖があって、非常に扱いづらい……
慣れれば何とかなるのかな
289:デフォルトの名無しさん
07/09/19 03:47:04
>>287
親に渡さなくても直接タブパネルにコモンダイアログを呼び出せばOK
公式マニュアルにはないけど、カラー選択なら
SWin::CommonDialog::chooseColor(nil, 0)
で、出るはず。
>>288
VisualuRubyはexerbで固めるとdllなしのスタンドアロンツールが作れるからなぁ。
(gemとか使うとdllが必要だが)
Apolloは別途Delphiの知識が必要な感じもするし、純粋なGUIプログラムなら大方はDelphiでできるし。
Delphi+Rubyの利点って正規表現をカバーぐらいしか思い浮かばない(無知でごめんよ)
ただ、マニュアル面での充実や、Vistaを含めマルチプラットフォームの可能性は断然Apolloだろうね。
290:デフォルトの名無しさん
07/09/19 03:59:38
GtkにしたらVisualuRuby使う気なくなった
ごめんよ
291:デフォルトの名無しさん
07/09/19 08:26:46
> ただ、マニュアル面での充実や、Vistaを含めマルチプラットフォームの可能性は断然Apolloだろうね。
Apolloは、Windowsでしか動かないよ
それと、更新されていないApolloは、Vista非対応のはず。(動くことは動くか)
Delphi2007でコンパイルしなおさないといけないと思う
292:デフォルトの名無しさん
07/09/19 09:04:51
コード手書きでGUIとかありえない。
20年前じゃないだからさ。
293:デフォルトの名無しさん
07/09/19 23:43:03
HTMLやTcl/tk(Ruby/tkにあらず)なら手書きでも良いような気がする
要は現状でGUIを書きやすくて充実してるライブラリが無いって話じゃね?
294:289
07/09/20 02:16:54
>>291
言葉足らずでごめん、VisulauRubyはwin32べったりだから、比較対象として選択肢がDelphi
でコンパイルできたりすることも可能という『可能性』ってことね。
(断然って言い方がマズかったorz)
> コード手書きでGUIとかありえない。
どこまでのプログラムを手書きと言うのか分からないけど、少なくともVisualuRubyにはFormDesigner
というGUIビルダがあるのがあるし、ApolloもDelphiのGUIビルダが使えるし、完全に一から手書きし
てるというわけでもないのでは?
自分は邪道編を見て、webもGUIもできる言語って凄いと思ってRubyを使い出したので(当時は他
のLLでもGUIできるって知らなかった)
Ruby自体がGUIプログラムをやるための言語ではないが、マニュアルが極端に少ないってが問題の1つだと思うよ。
295:デフォルトの名無しさん
07/09/20 03:52:12
>>294
「断然って言い方」だけじゃなくて、通常そういうのはマルチプラットフォー
ムとはいわんから、用語や日本語の使いかたがマズかったのでは。
296:デフォルトの名無しさん
07/09/21 12:26:42
vrubyとMozilla ActiveX Controlを使ってgeckoエンジンのwebブラウザを作成したいのですが
ACTIVEXCINFOでできますか?
smpleだとIEの例はあるのですが、ACTIVEXCINFOが分からず四苦八苦しているので、どのよ
うに調べれはよいのですか?
297:デフォルトの名無しさん
07/09/23 07:12:54
vrubyってクラシックな視覚スタイルしか作れないのですか?
無いとしたら、今後XP(Luna)やVista(Aero)の対応予定とかありませんか?
# Ruby/TkだとTileを使えばXP風味になりました
# Ruby初心者スレから誘導されてきました
298:デフォルトの名無しさん
07/09/23 09:30:28
>>297
XP風にするだけならvrubyに限らずこの方法でいける
URLリンク(www.lhut32.com)
299:デフォルトの名無しさん
07/09/23 14:04:23
>>296
ACTIVEXCINFO =["Mozilla.Browser","DWebBrowserEvents"]
300:デフォルトの名無しさん
07/09/23 14:10:26
ACTIVEXCINFOは、ものすごく効率が悪いけど soleb
URLリンク(homepage1.nifty.com)
で、それっぽいの(これが難しい)を探せばなんとかなります。
301:デフォルトの名無しさん
07/09/25 03:30:08
>>299
おお、これでサンプルを変更したら動きました。
ありがとうございます。
>>300
効率が悪いとは具体的にどうしてでしょうか?
solebでCOMから扱うとなると、実際にはdllだけではなくMozillaそのものをDLして
埋め込むという感じになると思うのですが、やりたいことはWEBrickでプロキシ通
信したものをgeckoエンジン表示させたいのですが…
302:デフォルトの名無しさん
07/09/26 12:47:16
solebはActiveXコントロールの情報も出ますよ。
ただ、むちゃくちゃイッパイ情報が出るので、
探すのが効率悪い。
303:デフォルトの名無しさん
07/09/26 14:18:57
Windowsで現在実行中のプロセスを列挙したいのですがどうすればいい?
Win32APIのEnumProcessesとかを使うと出るらしいが
使い方がわからん。
使い方をおせーて
304:デフォルトの名無しさん
07/09/26 16:28:48
Windows NT系上での実行を想定してるんですが、
キャラクタセットについて下記の2案だとどっちが良いと思いますか?
案1
・ソースプログラムをUTF8で書く
・Ruby/TkへStringを投げるときはそのまま
・コマンドプロンプトへStringを出力するときはSJISへ変換してやる
案2
・ソースプログラムをSJISで書く
・Ruby/TkへStringを投げるときはUTF8へ変換してやる
・コマンドプロンプトへStringを出力するときはそのまま
305:デフォルトの名無しさん
07/09/26 16:45:47
と思ったけどプログラムコードの先頭で
#! ruby -Ks
って指定してやれば勝手にやってくれるのね・・・
306:デフォルトの名無しさん
07/09/27 06:42:19
>>303
スレリンク(tech板)
307:デフォルトの名無しさん
07/09/30 01:06:07
たぶんActiveScriptRuby1.8.637に更新してからだと思うけど
VisualuRuby使ったプログラムで
定数の再定義警告が出るようになりました。
ただ、Rubyインタプリタで実行したときは
警告されません。
Exerbで作った実行ファイルを実行したときに
警告が出ます。
俺だけなのかなぁ?
308:デフォルトの名無しさん
07/09/30 06:38:02
Ruby/Tkとvrubyを混在させるにはどうしたらいいの?
Tk.mainloop と VRLocalScreen.messageloop を一緒に走らせないとならないっぽいんだけど無理かな?
309:デフォルトの名無しさん
07/09/30 10:32:16
>>307
> VisualuRuby使ったプログラムで
> 定数の再定義警告が出るようになりました。
再現できるソースはない?
310:デフォルトの名無しさん
07/09/30 14:16:05
>>309
test.rb
---
require 'swin'
require 'vr/vrcontrol'
require 'vr/vrdialog'
---
これをrubyインタプリタで実行しても警告は出ない
(-W2オプション付きでも)
(続く)
311:デフォルトの名無しさん
07/09/30 14:23:15
test.exy
---
general:
startup: test.rb
core: cui
kcode: sjis
file:
test.rb:
Win32API.so:
file: C:\Ruby\lib\ruby\1.8\i386-mswin32\Win32API.so
type: extension-library
swin.so:
file: C:/Ruby/lib/ruby/site_ruby/1.8/i386-msvcrt/swin.so
vr/vruby:
file: C:\Ruby\lib\ruby\site_ruby\1.8\vr\vruby.rb
vr/winconst:
file: C:\Ruby\lib\ruby\site_ruby\1.8\vr\winconst.rb
vr/compat/rubycompat:
file: C:\Ruby\lib\ruby\site_ruby\1.8\vr\compat\rubycompat.rb
vr/rscutil:
file: C:\Ruby\lib\ruby\site_ruby\1.8\vr\rscutil.rb
vr/contrib/vrwincomponent:
file: C:\Ruby\lib\ruby\site_ruby\1.8\vr\contrib\vrwincomponent.rb
vr/vrcontrol:
file: C:\Ruby\lib\ruby\site_ruby\1.8\vr\vrcontrol.rb
vr/sysmod:
file: C:\Ruby\lib\ruby\site_ruby\1.8\vr\sysmod.rb
vr/compat/vrcontrol.rb:
file: C:\Ruby\lib\ruby\site_ruby\1.8\vr\compat\vrcontrol.rb
vr/vrdialog:
file: C:\Ruby\lib\ruby\site_ruby\1.8\vr\vrdialog.rb
---
312:デフォルトの名無しさん
07/09/30 14:26:15
>>311 のレシピファイルを使ってexerbで実行ファイルを作って
それを実行すると
vr/vrcontrol:1217: warning; already initialized constant WM_VSCROLL
などが出る。
(全角スペースでインデントしています。半角に変換して使ってください。)
まあ、エラーじゃないので、特に問題は無いんですけど、
なんか心臓に悪い。
313:デフォルトの名無しさん
07/10/22 17:44:18
URLリンク(www.itmedia.co.jp)
URLリンク(itpro.nikkeibp.co.jp)
URLリンク(itpro.nikkeibp.co.jp)
314:デフォルトの名無しさん
07/10/25 16:07:27
RubyをMac OS Xで使うスレが無いのが寂しい
Ruby/Cocoa使いとか居ない?
315:デフォルトの名無しさん
07/10/25 19:03:14
>>314
"ruby cocoa" site:2ch.net でググると
いくつかのスレで話題になっているようですね。
必要であればスレ立てしてみてはいかがでしょう。
316:デフォルトの名無しさん
07/10/25 19:16:56
RubyCocoaは明日から本番だしな。ちょうどいいんじゃね?
317:デフォルトの名無しさん
07/11/06 01:53:10
URLリンク(img.baguwen.org)
318:デフォルトの名無しさん
07/11/06 06:29:51
これ中国の修行僧が作った道だっけ?
319:デフォルトの名無しさん
07/11/14 01:55:36
ActiveSupportのようにライブラリを動的に読み込むスクリプトを、
exerbで実行ファイル形式にする方法ない?
320:デフォルトの名無しさん
07/11/14 13:17:53
必要なやつを全部レシピに追加しとけば?
321:デフォルトの名無しさん
07/11/15 01:31:37
便乗質問なのですが、hpricotっていうライブラリはc言語をコンパイルしたものが
含まれているって聞いたのですがそういうのもexerbに取り込むことが出来るのでしょうか。
322:デフォルトの名無しさん
07/11/16 00:52:44
>321
全然オッケー
323:デフォルトの名無しさん
07/11/29 11:10:51
"Adding Ruby to the .NET stable of languages and unlocking .NET to Ruby programmers."
URLリンク(rubydotnet.googlegroups.com)
Breaking News! (20th November 2007)
Ruby.NET version 0.9 has just been released
324:デフォルトの名無しさん
07/11/30 13:33:37
Windows における Ruby 開発環境の構築
URLリンク(taylor.gotdns.org)
325:デフォルトの名無しさん
07/11/30 13:50:52
>>323
とりあえず、VS2005ProにVS2005SDKとRuby.NET、VSRuby.NETをインストールしても、
VSに統合されなかったということだけは報告しておこう。
326:デフォルトの名無しさん
07/11/30 14:38:55
>>325
スタート > すべてのプログラム > Ruby.NET > Visual Studio (for Ruby)
327:デフォルトの名無しさん
07/11/30 16:27:44
>>326
おお、動いた。ありがとう。
とりあえず、Windowsアプリケーションで、ButtonとListboxをFormに貼り付けて
Clickイベントを書いたら動いた!
(大文字小文字をちゃんとしないといけないんだね・・・)
def button1_Click(sender,e)
listBox1.Items.Add(Time.now.to_s)
end
だが、ビルドもプロジェクトの保存もできない・・・。
休みの間にドキュメント読もう。
328:デフォルトの名無しさん
07/11/30 20:37:39
俺も使えた。
でも、インテリセンスが効かないのが最悪。しかも大文字小文字を区別するし。
329:デフォルトの名無しさん
07/12/04 12:16:28
>>328
> しかも大文字小文字を区別するし。
Ruby用のIDEで区別しなかったら使いものにならんだろ。
330:デフォルトの名無しさん
07/12/04 12:48:32
>>329
.NETのメソッドヤプロパティが全てcase sensitiveなのは使いづらい。
331:デフォルトの名無しさん
07/12/04 14:59:27
>>330
Ruby.NET的にはそういうのはどうなんの?
大文字のと小文字のメソッドが全部定義されてる?
332:デフォルトの名無しさん
07/12/04 15:01:16
>>331
定義されていない。
いちいちAdditemなのかAddItemなのかを調べる必要がある。
333:デフォルトの名無しさん
07/12/04 16:45:30
え、インテリセンス使いまくりな俺には厳しい仕様だなー
334:デフォルトの名無しさん
07/12/04 22:55:31
>>332
> 定義されていない。
てことはmethod_missing使って呼び出す?
335:デフォルトの名無しさん
07/12/07 01:21:38
>>310 を書いた者ですが、
vr/vruby: などと書いているところを
vr/vruby.rb: というように拡張子まで含めて書くと
警告が出なくなりました。
というか、何で含めて書かなかったのだろう。
んー。
336:デフォルトの名無しさん
07/12/07 12:34:35
Rubyist Magazine出張版 Ruby on Windows
URLリンク(www.amazon.co.jp)
337:デフォルトの名無しさん
07/12/07 20:52:08
(追記) Windows における Ruby のバイナリ互換性について
ビルド環境として MinGW、 VC++6、VC++7、VC++8を考えます。
で、ちゃんと検証したわけではありませんが、おそらく以下が成立するはずです。
MinGWで作ったRubyとVC++6で作った拡張ライブラリは一緒に使える。逆も可。
MinGWで作ったRubyとVC++7で作った拡張ライブラリは一緒に使えない。逆も不可。
MinGWで作ったRubyとVC++8で作った拡張ライブラリは一緒に使えない。逆も不可。
VC++6で作ったRubyとVC++7で作った拡張ライブラリは一緒に使えない。逆も不可。
VC++6で作ったRubyとVC++8で作った拡張ライブラリは一緒に使えない。逆も不可。
これは利用されるC Runtime libraryの種類が問題になっています。
一応Windowsには異なるビルド環境で作ったオブジェクトファイルを混ぜても
「だいたい」問題なく動作させるための機構があるらしいのですが、
Rubyの場合問題が起こる部分を使っている、ということらしいです。
最近のRubyでは、ビルド時に異なるビルド環境を使おうとしてもできないような
対策が施されています。
そこで、バイナリ配布されているrubyの処理系は大半がVC++6かMinGW で
ビルドされているため、人に配布するためのバイナリを作るのであれば
このどちらかを使うべき、ということになります。
URLリンク(www.kmc.gr.jp)
338:デフォルトの名無しさん
07/12/07 21:11:39
>>337
それがどうかしたか?
339:デフォルトの名無しさん
07/12/09 23:33:10
>>337
VC7とVC8間も互換性ないからな。
VC9も同様。
340:デフォルトの名無しさん
07/12/10 03:26:16
>>339
VC8 なんてSPのあるなしでも互換性がないんじゃなかったっけ?
341:デフォルトの名無しさん
07/12/10 10:55:26
>>340
ない。
342:デフォルトの名無しさん
07/12/10 16:10:11
Ruby+vruby+exerbで最適な画像処理用ライブラリって何でしょうか。
jpgを読みこんで、パレットをいじったりして、bmpで出力したいのですが。。。
343:デフォルトの名無しさん
07/12/11 19:33:35
>>342
rcairoかrmagick
344:デフォルトの名無しさん
07/12/11 21:52:43
>>337-339
知らんかった
DLL化された拡張ライブラリの話しだよね?
困るかも
345:デフォルトの名無しさん
07/12/12 13:21:49
>>344
文句があるならMicrosoftへ。
346:デフォルトの名無しさん
07/12/13 22:30:40
URLリンク(www.garbagecollect.jp)
>_ なんかいろいろ言ってる間に[ruby-core:14039]が。
>
>Anyway, the MinGW guys just commited a few changes that will allow you
>target specific MSVCRT versions with the same compiler, removing the
>pain to create extensions with gcc for ruby build with VC6/8/9.
>
>ですってよ。マジすか。福音キター!
>
>_ こうなってくると前提が変わってきて、mingwがMSVCRT.dllとリンクするからVC6が望ましい、という理屈は成立しなくなるんだよね。
>じゃあみんなでVC9に行ってみる?
347:デフォルトの名無しさん
07/12/18 20:15:52
Cで拡張ライブラリを書いたときに、拡張ライブラリから関数ポインタを返してRuby側でその関数を実行するにはどうしたらいいですか。
348:デフォルトの名無しさん
07/12/18 20:59:03
そんなことよりモジュール関数にするとか
349:デフォルトの名無しさん
07/12/19 01:37:03
関数ポインタをRuby上で表現できるようなクラスを書くしかないと思うけど。
でも結局DLの車輪の再発明のような気がする。
350:デフォルトの名無しさん
07/12/19 07:50:10
>>348>>349
つまり直関数ポインタそのものを渡してもRuby側で実行できなくて、
たとえば拡張ライブラリを以下のようにするしかないってことですか。
//これをRuby側で実行したい。
hoge (*pf)(hage x);
//これをエクスポートしてRuby側で使う。
hoge f(hage x)
{
if(pf)return pf(x);
else return moge;
}
351:デフォルトの名無しさん
07/12/19 08:08:29
拡張ライブラリの作り方くらい読めよ
352:デフォルトの名無しさん
07/12/19 13:37:13
>>350
そもそも、どうして関数ポインタをRuby上で扱いたいの?
353:デフォルトの名無しさん
07/12/19 13:40:16
関数ポインタをシェルスクリプトに返しても呼べないが如し
354:350
07/12/19 18:16:05
レスありがとうございます。
>>351
>>350のソースはSWIGにかけてからdllを生成するつもりだったんですが、その点を書くのを忘れました。ごめんなさい。
>>352
どうして関数ポインタをRuby上で扱いたいかというと、既存のC++のクラスに関数ポインタのメンバがあって、
それをRubyでも使いたかったんです。
>>353
関数ポインタは使えないのですね。
とりあえずC++のソースの追加は必要ですが、>>350のようにやればRubyでも使えるようになると思っているので
それでやって見ます。もっと楽な方法があったら教えてください。
355:デフォルトの名無しさん
07/12/19 20:31:50
Windowsだったらsuikyoってゆーローマ字変換ライブラリは使えませんか??
356:350
07/12/25 20:31:37
すいません。350です。
また教えてください。
とりあえず簡単な拡張ライブラリを作ったのですが、なぜかloadできません。
mytest.soというファイルをカレントディレクトリにおいて
以下のようなスクリプトを流すと以下のようになります。
----スクリプト-----
f=open('./mytest.so')
p f
require './mytest'
----結果----------
#<File:./mytest.so>
./mytest.so: No such file or directory - ./mytest.so (LoadError)
from test.rb:3
-------------------
openではファイルが開けるのにrequireでは見つからないといわれてしまいます。
なにが悪いのでしょうか。
環境はwinXP+cygwinです。
rubyのバージョンは1.8.4 (2005-12-24) [i386-cygwin]です。
357:デフォルトの名無しさん
07/12/26 04:18:49
$LIB_PATH には、./は入るんじゃなかったけ?
$SAFEが1以上なら、入らんみたいだが・・・
358:デフォルトの名無しさん
07/12/26 04:19:21
とりあえず、プロンプトで、これどうなります?
$ ruby -e 'puts $:'
359:350
07/12/26 07:25:56
>>358
以下のようになりました。
/usr/lib/ruby/site_ruby/1.8
/usr/lib/ruby/site_ruby/1.8/i386-cygwin
/usr/lib/ruby/site_ruby
/usr/lib/ruby/1.8
/usr/lib/ruby/1.8/i386-cygwin
.
360:デフォルトの名無しさん
07/12/27 01:06:46
ちゃんと、最後に、 ". "が入っているから、
上手くいくはずなんだがな・・・
361:デフォルトの名無しさん
07/12/27 05:29:34
ファイルが見つからないんじゃなくて、mytest.soをDLLとしてロードできない何らかの理由があるんじゃないかな。
Init_mytestという関数がないとか、mytest.soが依存している他のDLLが動的リンクできないとか。
362:デフォルトの名無しさん
07/12/27 09:08:01
>>361
ロードできました。ありがとうございます。
原因はずばりInit_mytestがない、でした。
SWIGで生成したmytest_wrap.cxxではInit_MyTestという関数になっていて
これをInit_mytestにリネームすることで動くようになりました。
(あと #define SWIG_Init Init_MyTestのところもリネームしました)
mytest.iの書き方がまずかったためにこのようなことになったのでしょうか。
mytest.iは以下です。
%module MyTest
%{
#include "test.h"
%}
%include "test.h"
swigへの引数は-c++ -ruby mytest.iです。
363:350=362
07/12/27 10:19:06
とりあえず
%module MyTest
のところを
%module mytest
にすると上手くいくようです。
モジュール名は大文字で始めなければいけないという先入観がありました。
364:デフォルトの名無しさん
07/12/27 22:15:16
URLリンク(arton.no-ip.info)
Ruby-1.9.0.msi
ASRやExerbはもちろん、Visualu Rubyなども入っていない素のMSVCRT(VC++6SP5)版のRuby 1.9.0になります。
以下が含まれます。サイズは15MB近くとでかいので注意。
・1.9.0 リファレンスマニュアル (chm版)
・include、lib、riなど1.9.0のnmake install対象すべて。rbconfig.rbは修正が必要かも
・Vista対応
・openssl(0.9.8g)
・readline
・zlib
・iconv(1.9.1)
・tcltk84用tcltklib.so
・この忙しいのにしっかりと入ったgoruby
再配布もご自由にどうぞ。
なお、アンインストールには信じられないくらいの時間がかかります。
365:デフォルトの名無しさん
07/12/27 22:23:10
ゴルビーってなんやねん
366:デフォルトの名無しさん
07/12/28 04:49:31
俺は全然まとはずれな、答えしてたのね orz
DLLの中美香
367:デフォルトの名無しさん
07/12/30 01:40:29
artonさんとこのインスコして
うきうきわくわく
ruby -e "t=Time.now; 100000.times{}; puts Time.now - t"
ってやったら
1.8の方が速かった
しょぼーん(´・ω・`)
368:デフォルトの名無しさん
07/12/30 03:51:52
どういうベンチなんだそれは・・・
369:デフォルトの名無しさん
07/12/30 14:07:39
require 'benchmark'
puts `ruby -v`
puts Benchmark::CAPTION
puts Benchmark.measure(RUBY_VERSION) { "a"*100_000_000 }
ruby 1.8.6 (2007-03-13 patchlevel 0) [i386-mswin32]
user system total real
1.828000 0.031000 1.859000 ( 1.875000)
ruby 1.9.0 (2007-12-25 revision 14709) [i386-mswin32]
user system total real
2.484000 0.015000 2.499000 ( 2.532000)
ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mingw32]
user system total real
0.813000 0.015000 0.828000 ( 0.828000)
ruby 1.9.0 (2007-12-30 revision 0) [i386-mingw32]
user system total real
0.953000 0.016000 0.969000 ( 0.969000)
370:デフォルトの名無しさん
07/12/30 14:10:17
まちごうた
require 'benchmark'
puts `ruby -v`
puts Benchmark::CAPTION
puts Benchmark.measure { "a"*100_000_000 }
371:デフォルトの名無しさん
07/12/31 07:38:09
>>368は、詳細をだせ、と言っているのではなく、
たぶん、それはベンチになっていないといいたいのでは?
372:デフォルトの名無しさん
07/12/31 12:21:56
1.9のほうが遅い=ベンチになってない(Ruby脳)
373:デフォルトの名無しさん
07/12/31 18:05:45
ActiveTcl8.5も出てたのか
374:デフォルトの名無しさん
08/01/02 20:16:04
何十個かの言語のベンチを比較するページがどっかにあったけど、
あれ試せばいいんじゃね?
375:デフォルトの名無しさん
08/01/03 09:38:43
RubyオセロをCOM同士で戦わせるベンチみたいなのはねーの?
376:デフォルトの名無しさん
08/01/09 19:38:07
Rubyスクリプトから、ファイルを関連付けられてるアプリで開くにはどうすりゃよいですか?
377:デフォルトの名無しさん
08/01/09 19:56:08
変数fileにファイル名が入ってるとして、
system("start #{file}")
378:デフォルトの名無しさん
08/01/09 19:57:45
Win32APIのShellExecuteを呼ぶ
379:デフォルトの名無しさん
08/01/09 20:24:41
>>377-378 thx
ShellExecuteで解決しました
ただ、反応しないファイル(assoc .extで関連付けが確認できないもの?)があるのですが
それらの対策ってできます?
380:デフォルトの名無しさん
08/01/09 20:32:13
戻り値が32未満ならエラーだからさらにその意味を調べて分岐すればいい。
たぶんこれ
SE_ERR_ASSOCINCOMPLETE = 27;
詳細はググレカス
381:デフォルトの名無しさん
08/01/09 21:16:19
zipを渡して戻り値SE_ERR_NOASSOC
関連付け設定しなおして再起動してもうまくいかず
試しに
system("cmd /c \"#{zipfile}\"")
だったらうまくいったり
他のPCだったら無問題だったので、自分の環境がおかしいということで
めんどくさいので解決ということにしました
指南どうもありがとう
382:デフォルトの名無しさん
08/01/11 15:55:04
/\s/ =~ zipfile
383:デフォルトの名無しさん
08/01/13 15:37:53
RubyでUSBカメラ2台以上のリアルタイム映像を取り込みたいのですが、
ふさわしいライブラリは何ですか?
用途はwindowsでの3次元画像処理です。
ここからは有ればいいなという程度の希望です。
今のところ、機能性と安定性の両方を考えると、Pure Rubyよりもラッパー系が良いかと考えています。
ラップされた方のライブラリがカメラに対応していて、なおかつラッパーが完成しているようなものが一番いいです。
384:デフォルトの名無しさん
08/01/14 17:40:17
ActiveScriptRuby 1.8.5をインストールした環境でVisualuRubyのタイマーを
使いたいのですが、うまく動いてくれません。ソースは下記の通りです。
timeralive?ではタイマーが存在している旨の表示がコンソールに出力されますが、
メソッド"timer1_timer"が呼び出されません。
どうすればちゃんとタイマーが使えるようになるでしょうか?
御指南をよろしくお願いします。
require 'vr/vruby'
require 'vr/vrcontrol'
require 'vr/vrtimer'
include VRTimerFeasible
class TimerTest < VRForm
def construct
self.caption = 'Timer Test'
self.move(140,124,303,173)
addControl(VRStatic,'static1',"Startボタンを押して!",40,80,224,40,0x800201)
addControl(VRButton,'button1',"Start",40,8,224,48)
end
def button1_clicked
addTimer(1000, "timer1")
puts "TimerAlive => " + timeralive?("timer1").to_s
end
def timer1_timer
puts "タイマー来たよ"
@static1.caption = "タイマー来たよ!"
end
end
VRLocalScreen.start TimerTest
385:デフォルトの名無しさん
08/01/14 18:10:03
include VRTimerFeasible をclass定義内に
386:デフォルトの名無しさん
08/01/14 19:55:36
> 用途はwindowsでの3次元画像処理です。
あきらかに、Rubyの用途じゃない
387:デフォルトの名無しさん
08/01/14 21:51:55
>>385
できました。どうもありがとう!
388:384
08/01/14 23:41:34
すみませんが、またまたどなたかに御指南をお願いします。
下記のコードで、timer1_timerのsleep時間中に、Start/Resetボタン(button1)を押してもすぐにはボタンが反応しません。
ボタンを押し続けていると、数秒後にようやくボタンを押し込めるようになるのですが…
これを任意のタイミングでボタンを即座に押し込めるようにならないかと考えています。
できれば具体的なコードで教えていただけるとありがたいです。よろしくお願いします。
require 'vr/vruby'
require 'vr/vrcontrol'
require 'vr/vrtimer'
class TimerTest < VRForm
include VRTimerFeasible
def construct
self.caption = 'Timer Test'
self.move(140,124,303,173)
addControl(VRStatic,'static1',"Start/Resetボタンを押して!",40,80,224,40,0x800201)
addControl(VRButton,'button1',"Start/Reset",40,8,224,48)
end
def button1_clicked
deleteTimer("timer1") if timeralive?("timer1")
@i = 0; addTimer(1000, "timer1")
end
def timer1_timer
@i += 1; @static1.caption = "#{@i}回タイマー来たよ!"
sleep(5) #タイマー中に行う処理のダミー
end
end
VRLocalScreen.start TimerTest
389:デフォルトの名無しさん
08/01/15 01:37:39
sleepんとこの処理をスレッドにするとかそういう話?
390:デフォルトの名無しさん
08/01/15 10:46:47
WinグラマならPowerShell使おうぜ
6ヶ月以内にアクセスされなかったファイルを削除するサンプル
Get-ChildItem | Where-Object {$_.LastWriteTime -lt (Get-Date).AddMonths(-6)} | ForEach-Object {$_.Delete()}
もうRubyいらないね\(^o^)/
391:デフォルトの名無しさん
08/01/15 11:55:49
LastWriteTimeが最終アクセス時間なのか?
392:デフォルトの名無しさん
08/01/15 21:18:26
>>390
PowerShellのリファレンスマニュアルどこよ?
文法とか仕様とか標準ライブラリとか。
Rubyのリファレンスマニュアルレベルの物で良いからどこにあるのか教えてくれ。
俺はそれが見付からなくてやめた。
393:デフォルトの名無しさん
08/01/16 10:24:08
URLリンク(www.atmarkit.co.jp)
スレリンク(win板)
394:350
08/01/16 19:56:40
たびたびすいません。350です。
また教えてください。
SWIGでRuby拡張ライブラリを作っています。
関数の引数にポインタを渡してそれ、を介して値を返す場合typemaps.iに定義されているOUTPUTが使えるそうなのですが、
クラスのメンバ関数だと上手くいきません。
クラスのメンバ関数をtypemapにマッチさせるにはどうしたらいいでしょうか。
395:350
08/01/16 19:57:06
=============C++ヘッダ============
#ifndef MYLIB_H
#define MYLIB_H
void add(int a,int b,int *result);
class AAA
{
public:
void add(int a,int b,int *result);
};
#endif
============C++ソース=============
#include"mylib.h"
void add(int a,int b,int *result) { *result=a+b; }
void AAA::add(int a,int b,int *result) { *result=a+b; }
396:350
08/01/16 19:57:34
==========インターフェースファイル=======
%module mylib
%{
#include"mylib.h"
%}
%include typemaps.i
void add(int a,int b,int *OUTPUT);
void AAA::add(int a,int b,int *OUTPUT);
%include "mylib.h"
===========rubyファイル=================
require "mylib"
print Mylib::add(1,2),"\n"
print Mylib::AAA.new.add(3,4),"\n"
===========実行結果===================
bash-3.1$ ruby test.rb
3
test.rb:4:in `add': wrong # of arguments(2 for 3) (ArgumentError)
from test.rb:4
397:350
08/01/17 20:45:01
半分くらい自己解決しました。
その方法はヘッダを以下のように書き換えるというもの。
一応これで動くのですが、なるべくならヘッダをいじらずに
インターフェースファイルで何とかしたいです。
良い方法があったら御教示お願いします。
#ifndef MYLIB_H
#define MYLIB_H
void add(int a,int b,int *OUTPUT);
class AAA
{
public:
void add(int a,int b,int *OUTPUT);
};
#endif