【ActiveScript】RubyをWindowsで使うスレ【GUI】

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
他プラットホームとの互換性なんかいらん!
漏れは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

21:2006/08/08(火) 19:09:57
※暫定テンプレート※

■ActiveScriptRuby
(取りあえずこれをインスコすれば必要なものが一通りはいる。現時点の最新版は Ver. 1.8.4.5)
http://arton.hp.infoseek.co.jp/indexj.html

 ※ASRに同梱されているもの(一部)
・ActiveScriptRuby設定
  ・ruby1.8.4 mswin32版
  ・GUIライブラリ visualuruby
  ・ライブラリ管理 RubyGems
  ・rubyからexeを作成 exerb

■visualuruby (RubyでWindowsのGUIが使える)
http://www.osk.3web.ne.jp/~nyasu/software/vrproject.html
(ASRに同梱)

 ※関連プロジェクト
 ・visualuruby用 GUIビルダ FormDesigner for Visualuruby
  http://homepage3.nifty.com/Yukimi_Sake/ruby.html

■RDE (IDE 開発環境)
http://homepage2.nifty.com/sakazuki/rde/index.html
31:2006/08/08(火) 19:11:20
■その他

 ・Win32OLE 活用法
  http://jp.rubyist.net/magazine/?0003-Win32OLE

 ・Win32用ライブラリ Win32Util
   http://rubyforge.org/projects/win32utils (ライブラリ置き場)
   http://jp.rubyist.net/magazine/?0005-RLR (Rubyist Magazineの記事)

 ・Win32Module (ruby同梱のWin32APIをもうちょっとどうにかするライブラリ)
   http://www.moonwolf.com/ruby/

 ・ruby + .NET
  http://plas.fit.qut.edu.au/Ruby.NET/
  http://www.saltypickle.com/rubydotnet/
4デフォルトの名無しさん:2006/08/08(火) 19:13:02
>>1
重複スレ立てんな、馬鹿
51:2006/08/08(火) 19:21:19
他にも、cygwin版rubyの話とか、visualuruby以外の様々なGUIの話とか、
windows環境独自のややこしい話はこちらでどーぞ。
6デフォルトの名無しさん:2006/08/08(火) 19:27:47
>>1
氏ね
7デフォルトの名無しさん:2006/08/08(火) 19:37:44
この開き直り方いいね
8デフォルトの名無しさん:2006/08/08(火) 19:40:00
>>1
糞スレたてんな
91:2006/08/08(火) 19:50:33
WindowsでRubyを使うまめ知識

EmEditor Ver6.0 は、ActiveScriptとして登録された言語ならば、
エディタのスクリプト言語として使用出来ます。
EmEditor Professional v6 (Windows Vista/2003/XP/2000)
http://www.emeditor.com/jp/

ActiveScriptRubyをインストールすれば、EmEditorのマクロにRubyが使えます。
10デフォルトの名無しさん:2006/08/08(火) 19:51:56
>>9
なに、何事もなかったように続けてんだよ。
氏ね。
111:2006/08/08(火) 20:08:34
WindowsでRubyを使うまめ知識

Windows用電子メールソフト Becky2には、
Rubyをスクリプトとして使用出来るようになるプラグインがあります。

Becky2 Internet Mail
http://www.rimarts.co.jp/index-j.html

Becky2用Rubyプラグイン Beckrb - Yet Another Ruby/Becky!
http://www.tietew.net/becky/

12マイク ◆yrBrqfF1Ew :2006/08/08(火) 20:12:10
>>1
松本さんお疲れ
13デフォルトの名無しさん:2006/08/09(水) 01:40:18
rubyをWindowsで使うために役立ちそうなweb

■ActiveScriptRuby 作者 arton氏のインタビュー記事
http://jp.rubyist.net/magazine/?0015-Hotlinks

■HTA(htmlをアプリケーションのように使えるwindows上の技術)関係
  ActiveScriptRubyをインストールすることで、HTAをRubyScriptで記述出来る

・HTML Applications 概要
  http://www.microsoft.com/japan/msdn/workshop/author/hta/overview/htaoverview.asp
・HTML Applications の導入
  http://www.microsoft.com/japan/msdn/web/ie/ie50/ie5hta.asp


14デフォルトの名無しさん:2006/08/09(水) 01:44:24
ここ最近ずっとOne-click Ruby InstallerかInstant Railsばっかりで、
ASRとはご無沙汰だなぁ。win32oleは結構使うが別にASRでなくても困らんし

他にもそんな人いない?
スタートメニューに自動登録してくれるのでありがたい。
あと、自動関連づけのRubyのパスおかしいのでいつも手で直す

CygwinもcoLinuxももInstantRailsも入れてますが何か?

16デフォルトの名無しさん:2006/08/09(水) 02:45:09
■ One-Click Installer

 ・最新版
  http://rubyforge.org/projects/rubyinstaller/

かな。
17デフォルトの名無しさん:2006/08/09(水) 05:45:06
何が何でも情報を分散させたいみたいだな
181:2006/08/09(水) 15:52:07
まつもとゆきひろ 答える
http://slashdot.jp/developers/03/03/14/0258247.shtml?topic=86
より、

問)
Ruby の利用者を増やすために何が必要だとお考えですか?

答(一部))
>Windows対応については多くの協力者が大変な苦労をしてメンテナンスしてくれています。
>もしもっとたくさんの人が情報や労力などを提供してくださればもっとよくなるでしょうが、
>ほっておいてもよくなることはないでしょう。
>Rubyが成功した理由の一部は、Ruby のような言語になにが必要か私が分かっていたことにあると思います。

>私はWindows について知識がないので、Windowsユーザにとって正しい判断ができるとは思えません。
>より良いWindows対応のためには、どのようなものが欲しいか、どのようなWindow対応が「良い」のか
>きちんと定義できる人たちの積極的な参画によって実現できるのではないか、私は思います。


まあいまさらの話なのだが、

・作者のまつもと氏はWindowsの知識がない→「ほっておいても(windows版が)よくなることはないでしょう。」
・「より良いWindows対応のためには、どのようなものが欲しいか、どのようなWindow対応が
「良い」のかきちんと定義できる人たちの積極的な参画によって実現できるのではないか」

なので、「どのようなWindow対応が「良い」のかきちんと定義できる人たち」
というのには俺はなれないけど、「どのようなものが欲しいか」という意見を
言うことは出来るわけで、このスレはそういう意見を書き残す場所として使って
欲しいとおもいこのスレを立てた。

19デフォルトの名無しさん:2006/08/09(水) 17:02:02
そして誰も読まずにそのまま廃れて消えていくのであった
20デフォルトの名無しさん:2006/08/10(木) 01:36:47
Windowsでruby使う奴はレジストリをいじっとくと幸せになれる

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer]
"InheritConsoleHandles"=dword:00000001
21デフォルトの名無しさん:2006/08/10(木) 17:06:03
>>20
kwsk
22デフォルトの名無しさん:2006/08/10(木) 17:42:57
23デフォルトの名無しさん:2006/08/10(木) 17:57:37
なんでこのレジストリ指定が標準になってないんだ?
24デフォルトの名無しさん:2006/08/10(木) 20:04:32
互換性がなくなるからとか?
25デフォルトの名無しさん:2006/08/10(木) 20:54:48
どんな互換性?
MSのKBもそれを一切説明してないからさっぱりわからん。
26デフォルトの名無しさん:2006/08/10(木) 21:23:24
なんで、標準入出力がデフォルトで存在すると思うのか、そっちの方がわからん。
27デフォルトの名無しさん:2006/08/10(木) 22:41:21
コンソールアプリケーションだから。
28デフォルトの名無しさん:2006/08/10(木) 22:44:52
>>27
何が?
29デフォルトの名無しさん:2006/08/10(木) 23:32:38
コンソールが嫌いな人がいるみたいだから
VisualuRubyの話でもしようぜ
30デフォルトの名無しさん:2006/08/11(金) 02:27:04
>>29

VisualuRuby いいんだけど不安定でちょっと困ってる。
31デフォルトの名無しさん:2006/08/11(金) 08:14:17
>>1
GJ!
せっかくだからRuby on WindowsなWikiもあるといいかもな〜
ここはあえてPukiWikiでw
32デフォルトの名無しさん:2006/08/11(金) 13:12:23
Hikiでいいじゃん。
hikilet.rbでWikiサーバ立ち上げて軽いメモ用に使ってるよ。

33デフォルトの名無しさん:2006/08/11(金) 16:11:18
VisualuRubyのVRListviewがどうも不安定なので、こんな実験をした。(WinXP SP ASR1.8.4.4)

FormDegignerを使って簡単な画面を作る。画面にVRListviewを貼り付け、それにcolumnを3つぐらいセットする。
1秒に10行ぐらいのペースで、VRListviewにデータをAddItemしていくスレッドを動作させる。

この画面が動作している状態(リスト画面にデータが続々と挿入されている画面)で、
Windowの位置をマウスで移動させたり、Column 間の境界線をマウスでつまんで、
幅を動かそうとすると、すぐに画面が固まってしまう。

今回は1秒に10回という多めのデータ挿入だが、実際に使っている監視用の自作プログラムで、
30秒に1データぐらいのペースでVRListViewを書き換えるものを動作させていても、
十分ほどでなんのメッセージもなく落ちてしまったり、画面が固まったりする事がよくある。
34デフォルトの名無しさん:2006/08/11(金) 16:13:55
VisualuRubyの画面は、ちょっとした操作で画面が固まったり、音もなくプログラムが終了してしまった
りすることが多い。とくに、単純なVREditよりも、VRListviewのような複雑な画面部品を使っていると
起こりやすい気がするし、画面の部品数が増えるほど、画面の書き換えが多いほど落ちやすくなる。

なんか、頻繁に画面部品を描き変える処理のタイミングがぶつかったときに落ちてるような気がする。
でも、Ruby側でMutexを使って描き変えのタイミングがぶつからないようにしても効果がなかった。

当然、マウスでcolumnを動かすなど、手で画面を書き換える動作が絡んでくるとさらに落ちる確率が上がる。

うーん。こーゆーのは、プログラムの書き方で回避出来る問題なんでしょうか?
また、FOXとかの他のGUIだとどうなんでしょう?
35デフォルトの名無しさん:2006/08/11(金) 16:14:53
>>33-34
悪いが読む気が全くしない。
36デフォルトの名無しさん:2006/08/11(金) 16:53:04
>>35
脳みそに蛆湧いてんちゃうか
37デフォルトの名無しさん:2006/08/11(金) 18:22:07
Windows板でやれば?
38デフォルトの名無しさん:2006/08/13(日) 01:02:58
VREdit/VRRadiobutton/VRCheckbox/VRButton
くらいしか使わないけど落ちたり固まったりしたことはないな
39デフォルトの名無しさん:2006/08/13(日) 12:50:38
Microsoft、.NETに動的言語サポートを段階導入
http://www.itmedia.co.jp/enterprise/articles/0608/10/news093.html

RubyCLR
http://thinkchiro.com/
40デフォルトの名無しさん:2006/08/13(日) 17:24:38
そもそも、VisualuRubyで作られているFormDesignerがよく落ちる。
41デフォルトの名無しさん:2006/08/13(日) 17:33:52
>>37
> Windows板でやれば?

Windows板の表題を検索したが、java VB VisualBasic C# delphi Python Perl Ruby など、
言語に関するスレは一つもなかった。Windows板でのRubyの話題は板違いだろう。
42デフォルトの名無しさん:2006/08/13(日) 17:35:27
Ruby on Windowsに望むのは

.rbをコマンドプロンプト版に、
.rbwを非コンソール版に関連付けて欲しい。

環境変数pathextに.rbを登録したらfoo.rbを
dir /s /b | foo > result.txt
のように使えるようにして欲しい。

某インストーラで登録されるスタートメニューのアイコンの位置が微妙な所を改善。

Windows限定でいいので
Pathnameかなんかに'/' <-> '\\'の相互変換メソッドが欲しい

Rubyインストールするたびに上記の拡張子周りの設定して回るのは正直うんざり。
43デフォルトの名無しさん:2006/08/13(日) 17:50:46
>>42
> Ruby on Windowsに望むのは
どのバイナリパッケージについていってる?

> 環境変数pathextに.rbを登録したらfoo.rbを
> dir /s /b | foo > result.txt
> のように使えるようにして欲しい。
>>20
44デフォルトの名無しさん:2006/08/13(日) 17:57:27
そのうち出るだろう.NET版Rubyは.NET版としての進化を続けるだろうが、

いまのASRなどに期待したいのは、.NETになる前のVBのように、
Windowsでのプログラムを一通り手軽に実現出来る環境。

環境だけならかなりいいところまで出来ているんだけど、GUIが不安定で・・・
45デフォルトの名無しさん:2006/08/13(日) 18:03:53
>>44
> GUIが不安定で・・・

あ、VisualuRubyの話ね。FXRubyとかは未確認。
46デフォルトの名無しさん:2006/08/13(日) 18:10:47
>>>20
いや、そういう情報かき集めて手作業でやりたくないって話
47デフォルトの名無しさん:2006/08/14(月) 03:39:11
今知ったんだからもう情報かき集める必要ないし、
バッチ書けば手作業の必要も無い
48デフォルトの名無しさん:2006/08/14(月) 06:42:51
Ruby関連プロジェクトってって腰が重いよな・・・
個人的に不便に思ってる点が改善されたことが一度もない。
49デフォルトの名無しさん:2006/08/14(月) 10:14:50
本スレでもそうだけど要望出るといちいち必要ないとか
火消しに回ってる部隊はなぜそんなことやってるのか意味がわからん
50デフォルトの名無しさん:2006/08/14(月) 10:27:58
>>49
必要のあるなしを吟味せずに、無節操に取り入れていったらどうなるか考えてみろ
51デフォルトの名無しさん:2006/08/14(月) 10:29:26
キターw
52デフォルトの名無しさん:2006/08/14(月) 11:40:05
>>48
kwsk。出来れば具体的なプロジェクト名を。

>>49
2chに限定した話?

2chのスレや日記などであげられていた問題がきっかけで
直接修正されたということなら数回見たことがあるけど、
そんなにひどいことってあったかな。
出来ればどのスレのどの辺りって教えてくれませんか。
53デフォルトの名無しさん:2006/08/14(月) 14:39:32
vrubyはdelphiみたいなAnchorsはないのかな
あれがあるだけでレイアウトが簡単になるのだが
54デフォルトの名無しさん:2006/08/14(月) 14:48:16

    ∧∧  ミ _ ドスッ
    (   ,,)┌─┴┴─┐
   /   つ. 要望禁止│
 〜′ /´ └─┬┬─┘
  ∪ ∪      ││ _
           ゛゛'゛'゛
55デフォルトの名無しさん:2006/08/14(月) 15:37:36
>>53
なんだAnchorsって。
56デフォルトの名無しさん:2006/08/14(月) 15:39:50
>>53
Apollo使えば?
57デフォルトの名無しさん:2006/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デフォルトの名無しさん:2006/08/15(火) 18:19:07
>>57
バグか仕様か知らんけど、x,y,w,hはクライアント領域のものなので、
それを使ってmoveしちゃうとタイトルバーとかウィンドウ枠とかの分
どんどん小さくなる。
self_closeで、
@db["pos"] = [x, y, w, h]
でなく
@db["pos"] = self.windowrect
とすればうまくいくんじゃないか? 試してないが。
5957:2006/08/15(火) 19:13:51
>>58
その通りでした。おかげでうまくいきました。
60デフォルトの名無しさん:2006/08/15(火) 22:23:50
>>42
> Windows限定でいいので
> Pathnameかなんかに'/' <-> '\\'の相互変換メソッドが欲しい

'\\'->'/'はFile.expand_pathでできるよね
'/'->'\\'は単純にgsubでも大丈夫だと思うけど
それじゃだめ?
61デフォルトの名無しさん:2006/08/15(火) 22:39:38
デフォルトのパス区切りが/なんてWindows環境じゃありえないウンコ仕様は未来永劫直らないんだろうな。
62デフォルトの名無しさん:2006/08/15(火) 22:44:57
別にどっちもウンコ仕様だとは思わないけど。
63デフォルトの名無しさん:2006/08/15(火) 22:45:58
ああ、RubyのWin対応がウンコって意味か。
それなら同意
64デフォルトの名無しさん:2006/08/16(水) 01:37:02
殺伐としてるなぁ
65デフォルトの名無しさん:2006/08/16(水) 05:07:48
殺伐としてる割には進行遅いがな
66デフォルトの名無しさん:2006/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デフォルトの名無しさん:2006/08/16(水) 16:52:24
なぜ作者に連絡したり、MLに投げたりという発想がないのか
68デフォルトの名無しさん:2006/08/16(水) 16:59:27
定期巡回乙であります
69デフォルトの名無しさん:2006/08/16(水) 23:01:17
>>66
手元でやってみたが固まりも落ちもしなかった

ひょっとしてActiveScriptRubyのせいじゃない?
るびま15号のartonさんインタビューで、XPでスレッド周りが動かなくなったとか言ってる
70デフォルトの名無しさん:2006/08/16(水) 23:11:19
>>69
ActiveScriptRubyだけど、固まりも落ちもしなかった。
71デフォルトの名無しさん:2006/08/16(水) 23:12:44
とりあえずお前らrubyとライブラリのバージョンくらい書け。
72デフォルトの名無しさん:2006/08/16(水) 23:20:07
>>71
>>33に書かれてるじゃん
73デフォルトの名無しさん:2006/08/16(水) 23:23:22
つか、動く報告があったんだから、>>33は他のWindowsバイナリでも落ちるのかどうか
検証してから報告して欲しいな。
74デフォルトの名無しさん:2006/08/17(木) 00:28:39
>>66
ASR1.8.4.1で試したけど問題なし。
Webに行ったら1.8.4.5が出てたのでインストールして試したが問題なし。
7533:2006/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ですか?

7674:2006/08/17(木) 02:29:09
XP Home SP2
7774:2006/08/17(木) 02:42:38
>>75
どこでダウンロードできるのか書いといてくれよ。探したじゃん。
(ttp://ftp.ruby-lang.org/pub/ruby/binaries/cygwin/1.8/ext/)

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]

で問題なし。
7874:2006/08/17(木) 02:59:06
もっかい>>33を読んで、「10分放置」をしてみたが、問題なし。

ライブラリ作者に、詳細な環境と状況を添えて、メールしたら?
7969:2006/08/17(木) 04:21:31
swinとvrubyの最新リリースはvrswin060205とvruby060223だからね...
(ASRのパッケージはもちろん最新)
2年前の古いリリース使っておかしいよって言っても作者も困るでしょ

ちなみにおれの環境は
Windows2000SP4、garbagecollect.jpから落とした1.8.4のバイナリ
本家から落としたvrswin060205とvruby060223のセット
ぜんぜん問題なし
80デフォルトの名無しさん:2006/08/17(木) 05:47:32
windows2000sp4, mswin32版rubyで固まった。swinのバージョンはよくわからん
81デフォルトの名無しさん:2006/08/17(木) 16:08:30
swinのバージョンの検査は

require 'swin'
p SWin::VERSION

かな。
vrubyのバージョン検査方法は?
8233:2006/08/18(金) 01:07:40
>>33 および、>>66のソースの件ですが、

require の3行の下に、

SWin::Application.thread_critical=true

を書き足した所、私の必ず落ちる環境でも、正常動作するようになりました。
よかった〜これでGUIを気兼ねなく使えるかも。

でもなんで?

http://www.osk.3web.ne.jp/~nyasu/vruby/sqa.html

の一番最後に、

>mswin版はデフォルトでtrue。

と書いてあるので、この修正は必要ないと思っていたのに。

ちなみに、

p SWin::Application.thread_critical

でデフォルト値を表示してみるとfalseでした。
環境:ASR1.8.4.4
83デフォルトの名無しさん:2006/08/18(金) 01:13:59
追伸
>>75 の、vrubyとswinのバージョンが古いcygwin版でも、
SWin::Application.thread_critical=true
の行を書き足すことで正常動作しました。

皆さんがテストしてくださったおかげで、問題点が絞り込め、
解決に到達出来たようです。本当にありがとうございました。

vrubyの中の人。不安定とか、あらぬ疑いをかけてごめんなさいでした。


84デフォルトの名無しさん:2006/08/18(金) 01:35:45
なぜかはわからんが問題解決したってことでデフォルトFALSEに変更されてるっぽい
http://vruby.cvs.sourceforge.net/vruby/swin/swin.c?r1=1.12&r2=1.13

QAにうそ書いてるってことだし、作者に報告しといたほうがいい気がする
85vruby作者:2006/08/20(日) 14:54:02
いまここを発見しました。
mswin版rubyとGUIのスレッド相性は、Windowsの構造化例外が
どうとか(詳細忘れました)が原因で、その後ruby本体側の改修で直ったように
見えたので、mswin版もthread_critical=falseをデフォルトにしました。
cygwin版でもおかしなことが起こるということは、他にも何か問題あったんでしょうかね。
(とりあえずうちでは問題出てません。)

sqa.htmlは修正しておきます。
8674:2006/08/20(日) 15:40:35
作者キターーーーーーー&乙であります。
87デフォルトの名無しさん:2006/08/21(月) 11:03:40
dl2でドトネトらいくなライブラリを作ることを月狼に命じる
88デフォルトの名無しさん:2006/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デフォルトの名無しさん:2006/08/21(月) 13:42:14
>>88
そういうのは、1.8.4で試すものです
90デフォルトの名無しさん:2006/08/21(月) 16:57:26
visualurubyの画面で、ボタンのcaptionに ボタン(&B) と書いても
Alt+B でボタンが押せないんだけど、そういうものなのでしょうか?

なにか、簡単な設定かコード記述で使えるようになったりしますか?
91デフォルトの名無しさん:2006/08/21(月) 22:32:06
>>90
http://vruby.sourceforge.net/cgi-bin/wiki.cgi?ToriAezu#i3

VBとかは(&B)とか書いただけでお手軽にショートカットキーが設定できたりするのかね?
92デフォルトの名無しさん:2006/08/21(月) 22:45:11
ageてみる

>>88
core吐かせられるならgdbで追いかけられない?
1.8.5 preview4 が出たみたいだし
入れなおすついでにprintf突っ込んで追っかけてみるとか...
93デフォルトの名無しさん:2006/08/21(月) 23:32:48
つーか、>>88は、自分の環境で1.8.4で動くのか落ちるのかはっきりさせろ
94デフォルトの名無しさん:2006/08/22(火) 07:50:29
>>91
VB.NETならLabelのTextプロパティに"ほげ(&B)"って書いとけば
ショートカットキーが効くようになる。

# 多分VB6とかでも同じはず
95デフォルトの名無しさん:2006/08/22(火) 09:25:59
>>93
めんどくさいのでマシン貸すから自分でやれば。
96デフォルトの名無しさん:2006/08/22(火) 13:30:06
vrubyのリストボックスで、項目をダブルクリックした時に何か処理したいんだけど
どう書けばええの?
9790:2006/08/22(火) 16:14:28
>>91
ありがとうございます。

> http://vruby.sourceforge.net/cgi-bin/wiki.cgi?ToriAezu#i3

確認しました。現状はこんな感じです。

・フォームデザイナ使用。form自体にVReyFeasibleをつけてキーイベントを拾おう。
・ありゃ、self_charイベントでは、ctrl+文字は拾えるが、alt+文字は拾えないみたい(進展がなければ、ctrl+文字で妥協しよう)
・ふむふむ、http://www.osk.3web.ne.jp/~nyasu/diary/200411.html によると、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)などと書くだけで作れるという便利さがあります。
9890:2006/08/22(火) 16:32:47
>>97の補足です。

>他に、
>項目名(&K) [________]
>となっているとき、ALT+Kを押すと、入力フィールドにカーソルが移動します。

なぜ、labelに(&K)と書いてあるのに、フォーカスが入力フィールドのほうに行くのかというと、
VBAなどのフォームデザイナでは、入力フィールドに限らず、listやcomboboxなどの画面部品をフォームに
挿入したとき、その画面部品の見出しlabelがセットになって、グループ化されて一緒に挿入されます。
その、セットのlabelに(&K)と書くことで、画面部品にフォーカスが行くようになります。

内部的には、画面部品と、その部品用のlabelというのがリンクされた情報を保持しているのかもしれません。

ちなみに、1画面内に複数、(&K)を指定すると、そのときの動作は保証されないそうです。
99デフォルトの名無しさん:2006/08/23(水) 02:51:24
>>97
vrinitにadd_parentcall("syschar")を追加しとけば親で拾えるよ
(AltはWM_CHARじゃなくてWM_SYSCHARで飛んでくるらしい)

あと、syscharに限んないけどフォーカスないと拾えないから注意
イベント拾い専用のコントロールに常時フォーカスさせて
そいつから一括してキーイベント拾うようにするとかしてくれ
100デフォルトの名無しさん:2006/08/23(水) 07:32:46
最近Ruby使い始めたんだがすげーいいなこれ。
GUIが一瞬で出来し、適当に書いても動くしw
101デフォルトの名無しさん:2006/08/23(水) 08:45:00
>>96
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/55704
↑みたいにして????_dblclickedで処理

vr/compat/vrcontrol.rbのVRListboxのところに
addCommandHandler(WMsg::LBN_DBLCLK, 'dblclicked',MSGTYPE::ARGNONE,nil)
を直接入れちゃってもいい


ってゆうか最初から入れとけよ作者
102デフォルトの名無しさん:2006/08/23(水) 21:04:44
>>101

>>96ではないけど、

FormDesignerで画面を作ると、リストボックスは、別モジュールで
addControl(VRListbox,'listBox1',"listBox1",72,40,296,132,1350565889)
を使って定義され、別ファイルからこのモジュールをインクルードして
使うようになってるんだけど、

この状態で、
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/55704
と同等のサブクラス定義ってどうやればいいでしょうか?

(FormDegignerで生成したファイルには手をつけずに、自作のファイルの中だけで定義したい。)
103デフォルトの名無しさん:2006/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デフォルトの名無しさん:2006/08/24(木) 01:52:06
しまった、sage損なった...
105102:2006/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デフォルトの名無しさん:2006/08/24(木) 02:34:29
すごいなvruby
おらワクワクしてきたぞ
107デフォルトの名無しさん:2006/08/24(木) 02:35:32
BN_????はボタンのやつで、LBN_????がリストボックスのやつ
108102:2006/08/24(木) 02:42:56
>>107
>BN_????はボタンのやつで、LBN_????がリストボックスのやつ

ほんとだ。また何か勘違いしているのか?<自分
109102:2006/08/24(木) 02:52:24
>>105 ですが、やっぱり変でした。
>>105 でリストボックスをダブルクリックすると、
listBox1_dblclicked は通ることは通るんだけど、
ダブルクリックした直後には通らず、一回画面を別画面の裏側にするとか、
画面を終了させないとlistBox1_dblclickedが動作しないです。

変な物を貼ってお騒がせしてすみませんです。
110デフォルトの名無しさん:2006/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
111102:2006/08/24(木) 04:29:48
>>110

やっと正常に動作しました。どうやらフォーカスは無関係みたいです。

・BN_DBLCLICKEDじゃなくて、ちゃんとLBN_DBLCLKを使う。
・listboxに中身を入れる
(つまり>>110のソースどおり。LBN_SETFOCUS関係の設定は不要)

で、理想的に動作しました。

実は私はlistboxの中身を空っぽの状態でテストしていました(謝)。

そして、listboxの中身が空っぽだと、>>110のソースでも>>109の状態になります。

何もないところをダブルクリックすると、その時点ではlistBox1_dblclickedを通らず、
窓を閉じたり、別の窓の後ろに動かしてからlistBox1_dblclicked を通ります。
11290:2006/08/25(金) 00:02:19
>>103
>>90 はVRFormじゃなくてダイアログ使うと出来る。(Formの代わりならmodelessか)

ダイアログにすることで、Alt+キーでボタンが押せました。情報ありがとうございました。
113デフォルトの名無しさん:2006/08/26(土) 02:21:41
ちょっと質問ですが、
C#で書かれた.NETのプログラムがあり、ソースが公開されているとします。
このソースに手を加え、Rubyと通信できるようにして、RubyからC#のプログラムを
コントロールしたり監視したりしたいとき、.NET→Ruby間の通信方法は、何が一番適切でしょうか。
条件は、
・C#プログラム側で発生した変化を、出来るだけリアルタイムにRuby側で感知したい。
・Ruby側から.NETにも情報を渡したい(双方向の通信)。
・現時点では1台のマシンの中だけで閉じた状態のみを想定。
114デフォルトの名無しさん:2006/08/26(土) 02:27:41
何が一番適切か?というのは、

・.NET、Ruby側ともその通信手段のライブラリが用意されており実装は容易。
・通信の切断、再接続など、出来るだけライブラリ内で吸収していて、あまり記述しなくてもいいのが理想的。

つまり、作成も管理も一番簡単なのはどれでしょうという質問です。
115デフォルトの名無しさん:2006/08/26(土) 02:31:32
socket
116デフォルトの名無しさん:2006/08/27(日) 04:10:41
fxruby1.6.0がラッパしてるfox-toolkitの1.6.0でUnicodeをサポートする
ようになったらWindows9系ではfxrubyのプログラムが動作しなくなった

ttp://fox-toolkit.net/cgi-bin/wiki.pl?Unicode_Support

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デフォルトの名無しさん:2006/08/27(日) 04:54:05
Microsoftがライブラリ配布してるからダウンロードしてインスコすれ
118デフォルトの名無しさん:2006/08/27(日) 05:04:43
どっか説明してるサイトとかありますか?
119デフォルトの名無しさん:2006/08/27(日) 06:22:39
ぐぐれ
120デフォルトの名無しさん:2006/08/27(日) 06:55:54
ライブラリの名前だけでいいんだけど
unicows.dll ← これ?
121デフォルトの名無しさん:2006/08/27(日) 22:31:03
vrubyの画面にwebbrowserを貼り付けるサンプルは、
http://vruby.sourceforge.net/samples.htmlにあるが
vrubyの画面にexcelを貼り付けられないものだろうか?

と思って検索したら、
http://rd.search.goo.ne.jp/click?DEST=http://www.pen-chan.jp/~tdiary/pen-chan/20050106.html&no=1
に「VBとかだとExcelをフォームに貼り付けたりできたじゃん(おぼろげな記憶)。それはきっとOLEとか
ActiveXでできてるだろうからvrubyでも可能なはず。OLEブラウザで名前を調べてテストしたが、
うまくいかん。あれは本当にOLEだったのか?そのへん調べてみるとOLEコンテナというシロモノらしい。
だめぽい。」
とある。

vrubyの画面にexcelは貼り付けられないということでFA?

同じ発想でOOo.orgのcalcを貼り付けられないか調査中。OOo自体はActiveXとして使えるらしいが、
http://openoffice-docj.sourceforge.jp/tr/temp/OOo11_Features.html
OLEブラウザをみても、それに当たる物が見つからない(OOoインストール時にActiveXは選択している。)
vruby以前の問題でうろうろしているが、成功例のサンプルとかどこかにある?

122デフォルトの名無しさん:2006/08/27(日) 22:36:13
両方無理
123デフォルトの名無しさん:2006/08/27(日) 22:52:38
>>121
リンク先は読んでないが、Excelは「OLEサーバ」。
OLEオートメーションを使うためには、入れ物が「OLEコンテナ」である必要がある。
vrubyの実装がどうなっているのか知らないけど、そうなってないなら出来ない。

COMやActiveXを使えるからといって、OLEオートメーションが出来るとは限らない。
C/C++だってそうでしょ?
124デフォルトの名無しさん:2006/08/28(月) 00:18:32
>>122-123

無理っすかあ。残念。
125113:2006/08/28(月) 03:13:02
>>115
socket が一番簡単ですか?同じマシンで閉じているので
ネットワーク通信ではなくプロセス間通信でもいいのですが。

>>121のActiveXの話をみて、113に書いた条件とは少し変わってしまいますが、
C#とrubyとの接続方法として、C#でActiveXコンポーネントを作成して
vrubyに貼り付けたりというのもあるのかもしれないと思いました。

126デフォルトの名無しさん:2006/08/29(火) 09:45:56
VR(Vert|Horiz)TwoPaneでセパレータをドラッグしたときにゴミが残るのうちだけ?
@pane_2.moveしたときに再描画されなくてPatBltで描いた線が残ったままになってる。
もう一度PatBltして線を消すとか、@pane_2.refreshをするとかすればいいんだけど、
そうなってないってことは、うちの環境がおかしいの?
127デフォルトの名無しさん:2006/08/29(火) 15:03:12
複数Excelファイルの集計とか、全部Rubyでやってるよ。
最初はVBAでやってたけど、Ruby使い出すともう戻れないねぇ・・・

でも、Visualプログラミングはまだやる気起きないなぁ。
Delphi6で不満な局面がないし
128デフォルトの名無しさん:2006/08/29(火) 21:33:47
>>125
別にソケットはネットワーク通信専用じゃないけど
どうしてもいやならここらへんでも(つかったことないけど)
http://jp.rubyist.net/magazine/?0005-RLR

>>126
これかね
http://vruby.sourceforge.net/cgi-bin/wiki.cgi?ReportedBugsVruby#i33
129デフォルトの名無しさん:2006/08/30(水) 08:33:29
VRTwoPaneFrameは修正したけど、VRTwoPaneの方は修正してないみたいだね
130デフォルトの名無しさん:2006/08/30(水) 08:44:06
>>127
王道はずしまくりですね
131デフォルトの名無しさん:2006/08/30(水) 19:18:23
>>121
> vrubyの画面にwebbrowserを貼り付けるサンプルは、
> http://vruby.sourceforge.net/samples.htmlにあるが
> vrubyの画面にexcelを貼り付けられないものだろうか?


とりあえず、vrubyの画面にexcelを貼り付ける方法を発見。

上記のhttp://vruby.sourceforge.net/samples.htmlにあるActiveXのサンプル画面で
"http://www.yahoo.co.jp/"
と書かれている部分を、
"file://c:\\test.xls"
のような、実在するexcelファイルを指定すれば出来る。
(そのパソコンのセキュリティの設定と関係してくるが。)

次に、ここで表示したexcelを、vruby側からコントロールしたいのだが、さてどうしたものか。
132デフォルトの名無しさん:2006/08/30(水) 19:31:16
ActiveScriptRubyのActiveScript部分のみのインストール手順(必要なファイルとか登録するレジストリ情報とか)
とかってどこかにないですかね?
ActiveScriptRubyが入っていないPCでRubyで書いたHTAとかを動かしたいときに
関連物を全自動でさくっと登録したいです
133デフォルトの名無しさん:2006/08/30(水) 22:07:00
>>132
artonさんのWikiに質問を書いてからblogのコメントに質問があるからWiki見ろゴルァとか書くと良いらしいと日記に書いてあったヨ。

>>131
documentを取得しようとするとExcelのインスタンスが取得できた稀ガス。
134デフォルトの名無しさん:2006/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デフォルトの名無しさん:2006/08/30(水) 23:53:06
>>134

> @sheet = @exp_document.Worksheets.Item("Sheet1") # で、シートを取り出し、
は、
@sheet = @excel.Worksheets.Item("Sheet1")          # で、シートを取り出し、
の間違いでした。

これが出来ると、excelの機能をまるまるvrubyのアプリケーションに使えそうで良い感じです。

136デフォルトの名無しさん:2006/09/03(日) 09:45:06
Excelへの印刷まではrubyから制御してるんだけどさ、
プリンタのジョブが完了したとかあと何件残ってるとか監視したいんだけど
それはWin32OLEやASRで出来るもの? 無理?
どこから監視すればいいのかわからんとです。
137デフォルトの名無しさん:2006/09/03(日) 12:29:06
>>136
コントロールパネルからプリンタの画面を見る。
ということが、Rubyから出来れば可能。出来なければ不可能。
138デフォルトの名無しさん:2006/09/03(日) 12:36:58
ttp://www.tohoku.ricoh.co.jp/barcode/support/wpaper/wp0002/index.html

win32apiの叩き方が分からないけど、こういうのがあった。
ユーザからしてみれば、ちょっとしたことだと思うんだけど
いざやってみようとすると敷居たかいのね orz

敷居が高いというか低レベルなところでゴニョゴニョしないとダメというか
ハンドルっていわれてもいまいち理解できていない今日この頃。
グチですまん
139デフォルトの名無しさん:2006/09/03(日) 12:48:27
ネットワーク越しの対戦型囲碁ソフトってこれで作れます?
作れるけど困難?

GUIアプリは作ったことありません。プログラミング経験は、Perl と Ruby のCGIだけです。
C#とかを勉強して、Visual Studio で作る方が近道でしょうか?
140デフォルトの名無しさん:2006/09/03(日) 13:00:07
できると思うけど…
GTPのライブラリはあるみたい?

http://www.hiroshima-pu.ac.jp/~sasaki/cgf/gifu2004/regulations/sample.html
141デフォルトの名無しさん:2006/09/03(日) 14:16:42
>>139
140でFA
自力でやるなら、やり方によるがネットワークプログラミングはどっちでも変わらんと思う。
地道にやると何にしろ面倒。
dRubyを使ってもいいのならRubyのほうが楽だと思う。
142デフォルトの名無しさん:2006/09/03(日) 14:36:14
GUIだからってかまえなきゃいいんじゃない?
Labelで○●+表示して、クリックイベント拾うとかw

通信を自前のメッセージにするのかGTPにも対応するかで
困難さはだいぶかわってくると思われ。

>>141が書いてるdRuby使った案だとViewをWin32ネイティブにも
CGIでのフロントエンドにもできていいんじゃない?
(256本網道編っぽい)
143デフォルトの名無しさん:2006/09/03(日) 15:17:11
>>140-142
サンクス。
Rubyでやってみます。
144デフォルトの名無しさん:2006/09/08(金) 07:35:28
pstoreがmswin32でバグってるてのは多用している自分にとってびっくりだった。
次バージョンでのバグ修正を期待します。
145デフォルトの名無しさん:2006/09/08(金) 17:08:05
winユーザーには冷たいですから
146デフォルトの名無しさん:2006/09/08(金) 21:00:38
one-click Ruby をインストールしているマシンに
ActiveScriptRubyをインストールしたらまずいことになりますか?

やはりone-click Rubyをアンインストールしたほうがいいのでしょうか?
147デフォルトの名無しさん:2006/09/08(金) 22:37:25
パスが違えば問題ないんじゃない?
148デフォルトの名無しさん:2006/09/09(土) 00:50:01
One-click をインストールすると、環境変数
RUBYOPT=-rubygems
が設定されるから、場合によっては不都合あるかもな
149デフォルトの名無しさん:2006/09/09(土) 02:41:58
コマンドプロンプト毎に環境変数設定するバッチファイル書けば?
150デフォルトの名無しさん:2006/09/09(土) 17:37:43
IronPython正式版が出たけど、はやくRubyも.NETで動くようにならないかなと期待。
http://plas.fit.qut.edu.au/Ruby.NET/
が一番、プロジェクトとして近いのかな?

151デフォルトの名無しさん:2006/09/09(土) 20:14:04
>>150
IronRubyてのを聞いた気が…。
152デフォルトの名無しさん:2006/09/10(日) 01:56:51
>>147
>>148
>>149

環境変数を弄ればいけそうなのですね。
挑戦してみます。

ありがとうございました。
153デフォルトの名無しさん:2006/09/12(火) 05:24:29
なぜWin32API.soは小文字にしない
154デフォルトの名無しさん:2006/09/12(火) 08:26:53
固有名詞
155デフォルトの名無しさん:2006/09/25(月) 11:55:05
WinとかWINで統一感ないね
156デフォルトの名無しさん:2006/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デフォルトの名無しさん:2006/09/26(火) 21:44:17
なぜ試さない/コードを見ないんだろう
158デフォルトの名無しさん:2006/09/26(火) 22:15:06
定数でいいんでねか
159デフォルトの名無しさん:2006/10/02(月) 16:26:16
USB Joypad を ruby上で利用する方法探してます。

ライブラリないしサンプルとなるコードってどっかにないですか?
160デフォルトの名無しさん:2006/10/02(月) 21:24:23
SDLを使うとか?
161デフォルトの名無しさん:2006/10/02(月) 21:26:31
162デフォルトの名無しさん:2006/10/06(金) 11:31:39
ruby -e "`cls`"
でcmd窓がクリアされないんですが他にいいやり方ないですか
163デフォルトの名無しさん:2006/10/06(金) 11:55:04
ruby -e "system('cls')"
164デフォルトの名無しさん:2006/10/17(火) 04:58:43
165デフォルトの名無しさん:2006/10/29(日) 16:36:57
RubyでDDEを直接扱うライブラリありますか?

vrubyのGUI経由でのライブラリがあるのは知っているのですが、
データをrequestするメソッドと返り値をとるメソッドが分かれてしまっているのが
使いづらくて・・・。

166デフォルトの名無しさん:2006/11/06(月) 21:16:53
Win32APIをDLで置き換えるってのはいつから?
167デフォルトの名無しさん:2006/11/07(火) 02:17:53
もう置き換えてるはずなんだがな。
168デフォルトの名無しさん:2006/11/16(木) 01:53:02
いまさらだけど
vruby061102リリース記念age
169デフォルトの名無しさん:2006/12/03(日) 19:43:36
Bad file descriptor - connect(2) (Errno::EBADF)が出やすいのはwindowsだから?
170デフォルトの名無しさん:2006/12/04(月) 02:12:53
なんかどっかで聞いたことあるな
Threadの中でやるとよくないんだっけ?
171デフォルトの名無しさん:2006/12/05(火) 09:01:56
俺の中ではgemが出すエラーだな。
rubyforgeが落ちてる時の。
172デフォルトの名無しさん:2006/12/10(日) 04:27:31
ネット系は至る所からTimout::Errorがやってくる恐怖のライブラリ
173ビジネスニュース+:2006/12/26(火) 03:21:13

ビジネスニュース+ 板
ttp://news18.2ch.net/bizplus/

【ネット】「Windows Vista」からネット経由でセブンイレブンのコピー機にプリントアウト![12/25]
ttp://news18.2ch.net/test/read.cgi/bizplus/1167024387/
174デフォルトの名無しさん:2006/12/26(火) 04:18:38
Apolo使ってる人いる?
175デフォルトの名無しさん:2006/12/26(火) 08:25:58
>>174
visualuよりもお手軽だしDelphi部品使えるから、たまに使うけど、
Apollo側からgem使うのがメンドイので、ふつーのmingw版と
共存させてる(おかげでPATHの関係でたまにハマる)
176デフォルトの名無しさん:2007/01/04(木) 10:34:07
Apoloに関しては、
別にDelphiだけでいいじゃんという究極の問題点があるからな

無論、正規表現とかを使いたいときはありだけどさ
177デフォルトの名無しさん:2007/01/04(木) 10:55:57
つーかDelでも正規表現使えるように環境整備しとけって。
178デフォルトの名無しさん:2007/01/08(月) 01:56:39
まあ、単発のユーティリティとか、プロトタイピングでしかRubyつかってないからなあ、俺は。
GUIは、Delphiでいいやという気もする
179デフォルトの名無しさん:2007/01/09(火) 02:44:11
DelphiとPascalは死んだみたい
http://www.tiobe.com/tpci.htm
180デフォルトの名無しさん:2007/01/09(火) 23:08:01
exerb 4.1.0 上げ
181デフォルトの名無しさん:2007/01/09(火) 23:55:22
VisualuRubyのフォーム作りはFormDesignerが一番楽なのか?
更新止まってるが、代替アプリやスクリプトってないよね。
182デフォルトの名無しさん:2007/01/10(水) 03:09:17
exerbキター
183デフォルトの名無しさん:2007/01/10(水) 21:43:17
VisualuRubyのフォーム作りはFormDesignerが一番楽なのか?
更新止まってるが、代替アプリやスクリプトってないよね。
184デフォルトの名無しさん:2007/01/10(水) 22:38:13
ラクっつか、それしかないんじゃ?
(VBだのDelphiだのみたいに)かゆいとこまでは手が届かないから
細かいとこは結局手でいぢってるけど、おおまかな部分をつくるものだと
おもって、あんまり気にしてないや
185デフォルトの名無しさん:2007/01/10(水) 22:43:50
ごめん。1日遅れの二重投稿してたorz
今気づいて自分の目を疑った。
186デフォルトの名無しさん:2007/01/12(金) 22:16:42
ActiveScriptRubyをアップデートするために1.8.4をアンインストールしたらMS系のアプリがやられた。
.NET FrameWork とかスクリプティングホストで使ってる共用ライブラリも巻き込んでないか?
187デフォルトの名無しさん:2007/01/18(木) 22:59:34
FormDesignerがいよいよ更新再開?
http://yslab.atnifty.com/~yukimi_sake/diary/d
188・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 :2007/01/19(金) 01:59:27
そーいえば俺も困ったことになった
アップグレードしようとしたらインストーラがInternal Error吐くようになったり。


レジストリの手動削除を試してみるといい
HKEY_CURRENT_USER\Software\Microsoft\Installer\
配下にActiveRubyが作ったエントリがあるからそいつを手動削除
189デフォルトの名無しさん:2007/01/31(水) 01:21:15
rubygemsはもっと高速化できぬものか
190デフォルトの名無しさん:2007/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 :2007/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デフォルトの名無しさん:2007/02/02(金) 02:33:21
早速のお返事ありがとうございます。
しかし、それだとキャプションしか拾えないようですorz
193・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 :2007/02/02(金) 02:55:26
ん?

エディットコントロールのハンドルに対してGetWindowTextもしくはWM_GETTEXTやると
テキストを取得する動作になる

194デフォルトの名無しさん:2007/02/02(金) 03:16:22
プロセスが違う場合、共有メモリとかほげほげ
195デフォルトの名無しさん:2007/02/10(土) 11:21:11
win32oleを使ってExcelファイルを読み込むプログラムを高速化したいのですが
どうすれば速くなりますか?
読んだ後は、テキストファイルに書くだけです。

同じような構造のシートを10シート以上読み込むことがあります。
一つのシートは大体、100columns*100rowsより大きなサイズです。
全てのシートを読んだ後、データを整理して望むフォーマットで出力します。

プロファイルを取った結果、読み込んでいる部分が遅いという判断に至りました。
Rubyのバージョンは1.8.5です。

質問なのでageさせていただきます。
196デフォルトの名無しさん:2007/02/10(土) 12:43:16
まずは読み込んで書き出す部分のソースを見ないことには何とも言えない。
コーディングが悪いのか、RubyとCOMの組み合わせの限界なのか。
197デフォルトの名無しさん:2007/02/10(土) 12:44:58
OLEだと遅いよねー。
ODBCに登録してからの呼び出しだとアンマリ変わんないかな。

ヘタレなので元のExcel側でCSV書き出ししてから
rubyで処理するとかしか思いつきません。
198デフォルトの名無しさん:2007/02/10(土) 15:05:49
で、あと何年待ったらパス区切り文字のデフォルトが\にならないバグが改善されるの?
199デフォルトの名無しさん:2007/02/10(土) 22:59:42
バグじゃないから仕様変更の理由を添えて開発陣を説き伏せない限り一生変わりませんが
200デフォルトの名無しさん:2007/02/10(土) 23:16:12
Matzにっきを読むとわかるが、反論の仕方が「〜〜で十分」なので、言うだけ虚しい。
201デフォルトの名無しさん:2007/02/11(日) 18:28:35
現在、vrubyでランチャーのような物を作っています。

値を入力してボタンをクリックすると
コマンドラインからソフトを立ち上げ、入力フォームを非表示、又は消去したいんです。
何かに対して、Visible = false をするのかなと思うのですがうまくいきません。

MyForm < VRForm という形で宣言しています。

どうぞよろしくお願いします。
202デフォルトの名無しさん:2007/02/11(日) 19:25:56
非表示は、form.visible = false みたいな感じだと思う
vrubyだったらhideとか定義されてたはず
203201:2007/02/11(日) 21:26:08
>>202 ありがとうございます!
さっそくhide = true なぞを試してみます!
204デフォルトの名無しさん:2007/02/11(日) 21:37:42
hide() だよ
205デフォルトの名無しさん:2007/02/12(月) 13:04:12
>>193
>>194
遅くなりましたがありがとうございます。
確かに外部ソフトのeditコントロール内のテキストを拾おうとしています。
ruby+apiだけでは無理でしょうか。
ProgIDも見つからず、どうやらCOMサーバとして使用することは不可能なようです。

やりたいこと
VB(ver.5)で作られた外部ソフトのeditコントロールに入力された文字列を拾いたい。
WinSpectorで調べたクラス名:ThunderRT5TextBox
206デフォルトの名無しさん:2007/02/20(火) 23:29:27
WinXPSP2で
Dir.glob('C:/本/*')だと何も引っかからないが、
Dir.chdir('C:/本');Dir.glob('*')だと正常に読める。
なんで?
207デフォルトの名無しさん:2007/02/21(水) 01:05:31
$KCODEは?
208デフォルトの名無しさん:2007/02/21(水) 02:13:30
>>206,207
SJISIでそ。
「本」の2バイト目が'{'と同じなので、誤判定していると思われ。
209デフォルトの名無しさん:2007/02/21(水) 02:27:00
1.8.6で解決しそうなふいんき(←なぜか変換できない)
210デフォルトの名無しさん:2007/02/21(水) 07:54:30
>>209
> ふいんき(←なぜか変換できない)

このネタいいかげんウザイw
211デフォルトの名無しさん:2007/02/21(水) 17:18:25
206みたいな前世紀的ネタで七転八倒する言語のスレだからな
212デフォルトの名無しさん:2007/02/21(水) 18:18:59
Rubyに限らず文字コードまわりはまだしばらく課題となるだろうが、
今ソース見てるんだけどglobにはダメ文字の対処がないな。
213デフォルトの名無しさん:2007/02/22(木) 01:31:33
>>212
どのソース?

>>209のいうとおり1.8.6で対応したものが入るものだと思うんだけど。
214デフォルトの名無しさん:2007/02/22(木) 01:41:01
>>213
あー、CVS見てた。
もうsvnだもんな。
忘れてた。
215デフォルトの名無しさん:2007/03/05(月) 13:48:16
age
216デフォルトの名無しさん:2007/03/31(土) 01:30:13
>gem install rails

ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError)
Bad file descriptor - connect(2)(Errno::EBADF)

インストールできないです。
FW全てカット セキュリティ関連ソフトも起動せずにやっても変わりません。
ちなみにプロキシは無い環境です。
217デフォルトの名無しさん:2007/03/31(土) 05:54:09
>>216
何故、誰も見てないここで聞く?

gemの他のコマンドは利く?

 gem search rails --remote

とか
218デフォルトの名無しさん:2007/04/01(日) 21:39:14
>>217
サンクス
他で聞きます。
219デフォルトの名無しさん:2007/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デフォルトの名無しさん:2007/05/09(水) 13:40:08
>>219
> 私が覚えているrubyに関する変わった作業は、以下の二つです。
> 1)環境変数をさわりpathを通した。
「変わった作業」なのかー。
221デフォルトの名無しさん:2007/05/09(水) 21:58:50
2) は変わってると思った
222デフォルトの名無しさん:2007/06/11(月) 12:15:05
わざわざ、環境変数なんて設定させるなよ、とは思うね
223デフォルトの名無しさん:2007/06/11(月) 16:08:46
デフォルトで/usr/local/binにインストールしろよ、と?
224デフォルトの名無しさん:2007/06/11(月) 16:17:15
Windowsで /usr/local/bin もなにもないだろ
225デフォルトの名無しさん:2007/06/11(月) 22:30:30
オレのマシンにはありますがなにか。
226デフォルトの名無しさん:2007/06/11(月) 23:56:07
>>225
Windowsなのに/なのか。珍しいな。
そういえばRubyの内部でファイルのディレクトリ区切りが"/"なのは気持ち悪い。
227デフォルトの名無しさん:2007/06/12(火) 01:13:37
WindowsでもAPIレベルでは/も使えるからな。
でもそんなお前に Wuby。
228・∀・)っ-○◎●:2007/06/14(木) 00:44:20
AN HTTPDで仮想パス使えるな
229デフォルトの名無しさん:2007/06/28(木) 16:37:49
ruby/GSL 1.9.0をwindowsマシンにいれて、ブイブイ言わしている人いますか?
pathでこけ、makeでこけ、あきらめ気味です...
230デフォルトの名無しさん:2007/06/28(木) 21:22:32
Vista x64 にしたのですが、
x64 用のバイナリってどこかで配布してないですか?
231デフォルトの名無しさん:2007/06/28(木) 21:39:17
>>230
ないと思う。
いまusaさんがtrunk向けに作業中。
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/31060
232・∀・)っ-○◎●:2007/06/29(金) 03:05:34
お荷車がLLP64にまともに対応してないし。
233デフォルトの名無しさん:2007/06/29(金) 14:11:40
>>232
そうなの? 具体的にどの辺が?
234デフォルトの名無しさん:2007/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 に手動でインストールしたライブラリのパスを追加していくのでしょうか。
235234:2007/07/01(日) 00:14:09
すみません。自己解決しました。
libmySQL.dll が x64 バージョンだったので動かなかったっぽいです。
236・∀・)っ-○◎●:2007/07/01(日) 17:49:21
鬼車はね、sizeof (long) == sizeof (void*) きめうちなんだよな。
longが32ビットでポインタが64ビットのWin64(x64)のプログラミングモデルをまともに想定してない。
237デフォルトの名無しさん:2007/07/03(火) 11:14:21
>>236
具体的にはどの辺が?
238デフォルトの名無しさん:2007/07/03(火) 13:21:47
LLP64では、ポインタだけが64ビットになります。int型とlong型は32ビットのままです。
239デフォルトの名無しさん:2007/07/03(火) 13:56:16
>>238
そんなことはこの話についてこれるやつは全員承知してると思う。
鬼車のコード中の sizeof (long) == sizeof (void*) を決め打ちしてるところの例を教えて欲しい。
240デフォルトの名無しさん:2007/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デフォルトの名無しさん:2007/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デフォルトの名無しさん:2007/07/03(火) 14:28:20
これだけなら影響はなさそうですけどね。
まあサラっと見ただけですが
243デフォルトの名無しさん:2007/07/03(火) 14:59:48
あ、すみません。
私の環境では long が64ビットなので、int の部分しかあぶりだせませんでした。
244デフォルトの名無しさん:2007/07/03(火) 15:05:18
>>241
x64だとPLATFORM_UNALIGNED_WORD_ACCESSがdefineされるから該当コードは存在しない。
245・∀・)っ-○◎●:2007/07/04(水) 22:35:04
怖ぇだろ常識的に考えて
246デフォルトの名無しさん:2007/07/05(木) 00:12:16
ようするに根拠はない、と。
247デフォルトの名無しさん:2007/07/05(木) 00:22:50
ダンゴ使えねぇ〜
248デフォルトの名無しさん:2007/07/05(木) 02:37:21
使えないどころか、害悪だな。糞以下。
249デフォルトの名無しさん:2007/07/09(月) 22:35:10
ここ↓から、HTML help for VisualuRuby (JA)というのをダウンロードしたのですが、
何も表示されません。自分の環境が悪い?

Ruby
http://homepage3.nifty.com/Yukimi_Sake/ruby.html
250デフォルトの名無しさん:2007/07/09(月) 23:41:17
うちも何も表示されません。
HTML Helpの作成ミスでは?
251デフォルトの名無しさん:2007/07/10(火) 10:38:31
うちは出るなあ。

HTML Help Control Version 4.74.9273
252・∀・)っ-○◎●:2007/07/10(火) 21:46:04
>>246
64bitアドレス型から32bit整数へのキャストがある時点で怖い怖い。
253デフォルトの名無しさん:2007/07/11(水) 09:35:08
>>250
やっぱ見れないですか。

>>251
見れる人もいるんだ。

超初心者だからヘルプがないとよく分からない。。。orz
254デフォルトの名無しさん:2007/07/11(水) 14:58:05
>>252
だからどこにあるんだよ
255デフォルトの名無しさん:2007/07/11(水) 17:58:05
Visualu RubyのFormdesignerのヘルプってないですかね?
質問があります。

FormdesignerのEditというコントローラ?、フォームの上に置くテキスト入力
できるやつです。

数字(ポート番号とIPアドレス)を入れるようにしているんですけど、入力制限
したいんですよね。

例えば、ポート番号なら1〜65535、IPアドレスなら1〜255、という感じに。
どのようにすればいいのでしょうか?
256デフォルトの名無しさん:2007/07/11(水) 21:13:13
win32/config.hをテキトーにx64用に書きなおしてビルドしてみ?
小さい型へのキャストの警告でまくるから。
257デフォルトの名無しさん:2007/07/11(水) 21:33:02
テキトーに書き換えないで真面目にx64版をビルドすりゃいいと思うんだが。
258デフォルトの名無しさん:2007/07/11(水) 21:48:02
試行錯誤しながら何とかできました。
勉強用で、ルータのUPnPを利用してポートを開放するスクリプトを作りました。

自分のバッファローのWHR-G54Sではうまく動作しました。
他のルータでもうまく動作するかの確認をお願いします。

VisualuRubyが動く環境で実行できます。
ファイルは↓です。

http://www.uploda.org/uporg899427.zip.html

”OpenPort.rb”を実行してもらえれば、GUI画面が立ち上がります。
259デフォルトの名無しさん:2007/07/11(水) 21:58:53
config.hの書き換えだけで対応できないからこそ型サイズ決めうちなんだろ。
260デフォルトの名無しさん:2007/07/11(水) 22:24:33
>>252
怖いのはお前の顔面だろカス
261デフォルトの名無しさん:2007/07/11(水) 23:36:01
x64 windows版が既にマージされてるという事実を見るだけで、
明確な根拠を示せない批判が全て無意味になるんだが。
config.hがどうこうとか言ってる奴は書き換え方が悪いんだろ。
262デフォルトの名無しさん:2007/07/12(木) 00:56:11
>>249 ファイルのプロパティに「ブロックの解除」ってボタン無いですか?
解除しないとhtmlhelpがちゃんと開けないようです。
263デフォルトの名無しさん:2007/07/12(木) 08:42:15
>>262
ありがとう。
その通りでした。
264デフォルトの名無しさん:2007/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デフォルトの名無しさん:2007/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デフォルトの名無しさん:2007/07/14(土) 18:37:47
vrubyはしらんけどdelphiのlistviewにはonmousedownというイベントがあって通常それで拾う。
267デフォルトの名無しさん:2007/07/14(土) 18:39:08
右クリックでlbuttonupが来ると?
268264-265:2007/07/14(土) 18:48:10
レスありがとうございます。

>266
そうですよね。
普通イベントハンドラがデフォルトで定義されているのですが
vruby の VRListview では定義されてないようです。

Spy++でみると、WM_RBUTTONDOWN, WM_RBUTTONUP
などのメッセージは ListView に来てます。

>267
失礼・・。まずは lbuttonup で試してました。
rbuttonup と読み替えてください。
最終的にやりたいことは右クリックを拾う、です。


lv1_dblclicked が呼ばれると、なぜか
lv1_lbuttonup が同時に後から呼ばれていることを発見。

ウィンドウメッセージは ListView に飛んできてるので
おそらくは vruby 側で何か処理を足してやれば
めでたくマウスの右クリックがとれるはずなので
もうちょいがんばってみます。
269264-265:2007/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デフォルトの名無しさん:2007/07/14(土) 20:57:05
なにをごちゃごちゃやってるのか知らんけど
VRubyのリファレンスちゃんと嫁
271264-265:2007/07/14(土) 21:09:06
正しい。
でもリファレンス嫁はちょっと漠然としてて範囲が広くてきっついよ。
ここ見れ、とか、メソッドやクラス名のヒントを
つ[メソッド名]
とかやってくれた方が助かるわー迷ってるんだから;
272デフォルトの名無しさん:2007/07/14(土) 21:43:42
self_rbuttondown
273264-265:2007/07/14(土) 22:59:03
>272
うぉぉ! できた!
rbuttondown(shift, x, y) と lbuttondown(shift, x, y) は、
include VRMouseFeasible でとれた。
(buttonup 系はなぜかとれない)
どうもありがとう!非常に助かりました m(_ _)m

http://www.osk.3web.ne.jp/~nyasu/vruby/referer/vr/VRMouseFeasible.html
ここにあるのはなんだ〜
274デフォルトの名無しさん:2007/07/14(土) 23:24:17
おめでとう

漏れも
>>264-268
見てたときは思い出さなかったんだけど
>>269
の5時間かかった〜っていうのを見て
3年ほど前に同じ問題で半日ほどはまったことがあるのを思い出した

275デフォルトの名無しさん:2007/07/16(月) 13:50:21
vruby でウィンドウが閉じるときに呼ばれるような
onClose とか onDestroy ってどこかにありますか?
X ボタンで閉じたときに終了処理をするイベントが拾えなくて
困ってるんですけど、msghandler をいじるしかないのかな?

と思って grep したら
include VRClosingSensitive
して self_close で拾えばいいのか。OK。自己解決。
276デフォルトの名無しさん:2007/08/05(日) 11:49:21
.
277デフォルトの名無しさん:2007/08/19(日) 18:07:24
メモ
font = @screen.factory.newfont("MS Gothic", -13)
self.class::const_set("DEFAULT_FONT", font)
で、デフォルトフォント全変更
278デフォルトの名無しさん:2007/08/25(土) 09:33:44
>>258
試してみたいのですが、すでにうpろだから消えているような。。。
279デフォルトの名無しさん:2007/08/25(土) 09:34:41
>>66
vrubyで画面に出てくるところを動かすときは、GC.disableを一時的にするといいって聞いたことがある。
280デフォルトの名無しさん:2007/08/25(土) 09:58:26
rbnamazuってどこからDLできますか?
本家のダウンロード、リンク切れになってる。
ttp://www.namazu.org/ruby-namazu/index.html.ja
昨夜から探して別のところで0.1を拾えただけ(最新0.4)
ヘルプ!
281デフォルトの名無しさん:2007/08/25(土) 10:25:25
>>278
どもです。
でも、趣味なのでもうプログラミング熱は冷めてしまいましたw

http://gzm.s201.xrea.com/openport.zip
282デフォルトの名無しさん:2007/08/25(土) 17:50:24
>>281
ありがとうございます。いただいていきます。
まぁ、自分の勉強のために見たいという気持ちもあるのでっ。

使ってみてですが、「ポート解放失敗」(泣)
プログラミング熱は冷めたとのことですが、Aterm WD701CVでの失敗を報告しておきます。
283デフォルトの名無しさん:2007/08/25(土) 19:12:39
>>282
あらら、失敗しましたかw
いやいや、私もRubyでソフトを作るのはこれが2作目です。
今度はC#をやろうと思い、挫折して、プログラミング熱が冷めましたw
284デフォルトの名無しさん:2007/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デフォルトの名無しさん:2007/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デフォルトの名無しさん:2007/09/05(水) 16:39:41
FormDesignerだけど、例えばEditコントロールを貼っつけて、
マウスで適当にクリックしたりしてると、
勝手にコントロールの位置がずれたり、
サイズが小さくなったりするんだけど俺だけ?
イライラするのですが回避方法ないでしょうか。
287デフォルトの名無しさん:2007/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デフォルトの名無しさん:2007/09/17(月) 21:06:44
それにしても、みんなよくVisualuRuby使う気になれるな
俺はApolloを先に使い始めたから、どうしてもVisualuRubyのAPIに慣れない

機能面の差はそんなにないと思うんだけど
クラスやメソッドの構成に癖があって、非常に扱いづらい……
慣れれば何とかなるのかな
289デフォルトの名無しさん:2007/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デフォルトの名無しさん:2007/09/19(水) 03:59:38
GtkにしたらVisualuRuby使う気なくなった
ごめんよ
291デフォルトの名無しさん:2007/09/19(水) 08:26:46
> ただ、マニュアル面での充実や、Vistaを含めマルチプラットフォームの可能性は断然Apolloだろうね。

Apolloは、Windowsでしか動かないよ
それと、更新されていないApolloは、Vista非対応のはず。(動くことは動くか)
Delphi2007でコンパイルしなおさないといけないと思う
292デフォルトの名無しさん:2007/09/19(水) 09:04:51
コード手書きでGUIとかありえない。
20年前じゃないだからさ。
293デフォルトの名無しさん:2007/09/19(水) 23:43:03
HTMLやTcl/tk(Ruby/tkにあらず)なら手書きでも良いような気がする
要は現状でGUIを書きやすくて充実してるライブラリが無いって話じゃね?
294289:2007/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デフォルトの名無しさん:2007/09/20(木) 03:52:12
>>294
「断然って言い方」だけじゃなくて、通常そういうのはマルチプラットフォー
ムとはいわんから、用語や日本語の使いかたがマズかったのでは。
296デフォルトの名無しさん:2007/09/21(金) 12:26:42
vrubyとMozilla ActiveX Controlを使ってgeckoエンジンのwebブラウザを作成したいのですが
ACTIVEXCINFOでできますか?

smpleだとIEの例はあるのですが、ACTIVEXCINFOが分からず四苦八苦しているので、どのよ
うに調べれはよいのですか?
297デフォルトの名無しさん:2007/09/23(日) 07:12:54
vrubyってクラシックな視覚スタイルしか作れないのですか?
無いとしたら、今後XP(Luna)やVista(Aero)の対応予定とかありませんか?

# Ruby/TkだとTileを使えばXP風味になりました
# Ruby初心者スレから誘導されてきました
298デフォルトの名無しさん:2007/09/23(日) 09:30:28
>>297
XP風にするだけならvrubyに限らずこの方法でいける
ttp://www.lhut32.com/WinXP.html
299デフォルトの名無しさん:2007/09/23(日) 14:04:23
>>296
ACTIVEXCINFO =["Mozilla.Browser","DWebBrowserEvents"]
300デフォルトの名無しさん:2007/09/23(日) 14:10:26
ACTIVEXCINFOは、ものすごく効率が悪いけど soleb
ttp://homepage1.nifty.com/markey/ruby/win32ole/index.html
で、それっぽいの(これが難しい)を探せばなんとかなります。

301デフォルトの名無しさん:2007/09/25(火) 03:30:08
>>299
おお、これでサンプルを変更したら動きました。
ありがとうございます。

>>300
効率が悪いとは具体的にどうしてでしょうか?

solebでCOMから扱うとなると、実際にはdllだけではなくMozillaそのものをDLして
埋め込むという感じになると思うのですが、やりたいことはWEBrickでプロキシ通
信したものをgeckoエンジン表示させたいのですが…
302デフォルトの名無しさん:2007/09/26(水) 12:47:16
solebはActiveXコントロールの情報も出ますよ。
ただ、むちゃくちゃイッパイ情報が出るので、
探すのが効率悪い。
303デフォルトの名無しさん:2007/09/26(水) 14:18:57
Windowsで現在実行中のプロセスを列挙したいのですがどうすればいい?

Win32APIのEnumProcessesとかを使うと出るらしいが
使い方がわからん。

使い方をおせーて
304デフォルトの名無しさん:2007/09/26(水) 16:28:48
Windows NT系上での実行を想定してるんですが、
キャラクタセットについて下記の2案だとどっちが良いと思いますか?

案1
・ソースプログラムをUTF8で書く
・Ruby/TkへStringを投げるときはそのまま
・コマンドプロンプトへStringを出力するときはSJISへ変換してやる

案2
・ソースプログラムをSJISで書く
・Ruby/TkへStringを投げるときはUTF8へ変換してやる
・コマンドプロンプトへStringを出力するときはそのまま
305デフォルトの名無しさん:2007/09/26(水) 16:45:47
と思ったけどプログラムコードの先頭で
#! ruby -Ks
って指定してやれば勝手にやってくれるのね・・・
306デフォルトの名無しさん:2007/09/27(木) 06:42:19
307デフォルトの名無しさん:2007/09/30(日) 01:06:07
たぶんActiveScriptRuby1.8.637に更新してからだと思うけど
VisualuRuby使ったプログラムで
定数の再定義警告が出るようになりました。

ただ、Rubyインタプリタで実行したときは
警告されません。
Exerbで作った実行ファイルを実行したときに
警告が出ます。

俺だけなのかなぁ?
308デフォルトの名無しさん:2007/09/30(日) 06:38:02
Ruby/Tkとvrubyを混在させるにはどうしたらいいの?

Tk.mainloop と VRLocalScreen.messageloop を一緒に走らせないとならないっぽいんだけど無理かな?
309デフォルトの名無しさん:2007/09/30(日) 10:32:16
>>307
> VisualuRuby使ったプログラムで
> 定数の再定義警告が出るようになりました。
再現できるソースはない?
310デフォルトの名無しさん:2007/09/30(日) 14:16:05
>>309

test.rb
---
require 'swin'
require 'vr/vrcontrol'
require 'vr/vrdialog'
---
これをrubyインタプリタで実行しても警告は出ない
(-W2オプション付きでも)

(続く)
311デフォルトの名無しさん:2007/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デフォルトの名無しさん:2007/09/30(日) 14:26:15
>>311 のレシピファイルを使ってexerbで実行ファイルを作って
それを実行すると
vr/vrcontrol:1217: warning; already initialized constant WM_VSCROLL
などが出る。
(全角スペースでインデントしています。半角に変換して使ってください。)

まあ、エラーじゃないので、特に問題は無いんですけど、
なんか心臓に悪い。
313デフォルトの名無しさん:2007/10/22(月) 17:44:18
314デフォルトの名無しさん:2007/10/25(木) 16:07:27
RubyをMac OS Xで使うスレが無いのが寂しい
Ruby/Cocoa使いとか居ない?
315デフォルトの名無しさん:2007/10/25(木) 19:03:14
>>314
"ruby cocoa" site:2ch.net でググると
いくつかのスレで話題になっているようですね。
必要であればスレ立てしてみてはいかがでしょう。
316デフォルトの名無しさん:2007/10/25(木) 19:16:56
RubyCocoaは明日から本番だしな。ちょうどいいんじゃね?
317デフォルトの名無しさん:2007/11/06(火) 01:53:10
318デフォルトの名無しさん:2007/11/06(火) 06:29:51
これ中国の修行僧が作った道だっけ?
319デフォルトの名無しさん:2007/11/14(水) 01:55:36
ActiveSupportのようにライブラリを動的に読み込むスクリプトを、
exerbで実行ファイル形式にする方法ない?
320デフォルトの名無しさん:2007/11/14(水) 13:17:53
必要なやつを全部レシピに追加しとけば?
321デフォルトの名無しさん:2007/11/15(木) 01:31:37
便乗質問なのですが、hpricotっていうライブラリはc言語をコンパイルしたものが
含まれているって聞いたのですがそういうのもexerbに取り込むことが出来るのでしょうか。

322デフォルトの名無しさん:2007/11/16(金) 00:52:44
>321
全然オッケー
323デフォルトの名無しさん:2007/11/29(木) 11:10:51
"Adding Ruby to the .NET stable of languages and unlocking .NET to Ruby programmers."
http://rubydotnet.googlegroups.com/web/Home.htm

Breaking News! (20th November 2007)
Ruby.NET version 0.9 has just been released
324デフォルトの名無しさん:2007/11/30(金) 13:33:37
Windows における Ruby 開発環境の構築
http://taylor.gotdns.org/ruby.html
325デフォルトの名無しさん:2007/11/30(金) 13:50:52
>>323
とりあえず、VS2005ProにVS2005SDKとRuby.NET、VSRuby.NETをインストールしても、
VSに統合されなかったということだけは報告しておこう。
326デフォルトの名無しさん:2007/11/30(金) 14:38:55
>>325
スタート > すべてのプログラム > Ruby.NET > Visual Studio (for Ruby)
327デフォルトの名無しさん:2007/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デフォルトの名無しさん:2007/11/30(金) 20:37:39
俺も使えた。
でも、インテリセンスが効かないのが最悪。しかも大文字小文字を区別するし。
329デフォルトの名無しさん:2007/12/04(火) 12:16:28
>>328
> しかも大文字小文字を区別するし。
Ruby用のIDEで区別しなかったら使いものにならんだろ。
330デフォルトの名無しさん:2007/12/04(火) 12:48:32
>>329
.NETのメソッドヤプロパティが全てcase sensitiveなのは使いづらい。
331デフォルトの名無しさん:2007/12/04(火) 14:59:27
>>330
Ruby.NET的にはそういうのはどうなんの?
大文字のと小文字のメソッドが全部定義されてる?
332デフォルトの名無しさん:2007/12/04(火) 15:01:16
>>331
定義されていない。
いちいちAdditemなのかAddItemなのかを調べる必要がある。
333デフォルトの名無しさん:2007/12/04(火) 16:45:30
え、インテリセンス使いまくりな俺には厳しい仕様だなー
334デフォルトの名無しさん:2007/12/04(火) 22:55:31
>>332
> 定義されていない。
てことはmethod_missing使って呼び出す?
335デフォルトの名無しさん:2007/12/07(金) 01:21:38
>>310 を書いた者ですが、
vr/vruby: などと書いているところを
vr/vruby.rb: というように拡張子まで含めて書くと
警告が出なくなりました。

というか、何で含めて書かなかったのだろう。
んー。
336デフォルトの名無しさん:2007/12/07(金) 12:34:35
Rubyist Magazine出張版 Ruby on Windows
http://www.amazon.co.jp/dp/4839926689/
337デフォルトの名無しさん:2007/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 で
ビルドされているため、人に配布するためのバイナリを作るのであれば
このどちらかを使うべき、ということになります。

ttp://www.kmc.gr.jp/~ohai/diary/?date=20070305
338デフォルトの名無しさん:2007/12/07(金) 21:11:39
>>337
それがどうかしたか?
339デフォルトの名無しさん:2007/12/09(日) 23:33:10
>>337
VC7とVC8間も互換性ないからな。
VC9も同様。
340デフォルトの名無しさん:2007/12/10(月) 03:26:16
>>339
VC8 なんてSPのあるなしでも互換性がないんじゃなかったっけ?
341デフォルトの名無しさん:2007/12/10(月) 10:55:26
>>340
ない。
342デフォルトの名無しさん:2007/12/10(月) 16:10:11
Ruby+vruby+exerbで最適な画像処理用ライブラリって何でしょうか。
jpgを読みこんで、パレットをいじったりして、bmpで出力したいのですが。。。
343デフォルトの名無しさん:2007/12/11(火) 19:33:35
>>342
rcairoかrmagick
344デフォルトの名無しさん:2007/12/11(火) 21:52:43
>>337-339
知らんかった
DLL化された拡張ライブラリの話しだよね?

困るかも
345デフォルトの名無しさん:2007/12/12(水) 13:21:49
>>344
文句があるならMicrosoftへ。
346デフォルトの名無しさん:2007/12/13(木) 22:30:40
ttp://www.garbagecollect.jp/~usa/d/200712b.html#id20071213_P1

>_ なんかいろいろ言ってる間に[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デフォルトの名無しさん:2007/12/18(火) 20:15:52
Cで拡張ライブラリを書いたときに、拡張ライブラリから関数ポインタを返してRuby側でその関数を実行するにはどうしたらいいですか。
348デフォルトの名無しさん:2007/12/18(火) 20:59:03
そんなことよりモジュール関数にするとか
349デフォルトの名無しさん:2007/12/19(水) 01:37:03
関数ポインタをRuby上で表現できるようなクラスを書くしかないと思うけど。
でも結局DLの車輪の再発明のような気がする。
350デフォルトの名無しさん:2007/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デフォルトの名無しさん:2007/12/19(水) 08:08:29
拡張ライブラリの作り方くらい読めよ
352デフォルトの名無しさん:2007/12/19(水) 13:37:13
>>350
そもそも、どうして関数ポインタをRuby上で扱いたいの?
353デフォルトの名無しさん:2007/12/19(水) 13:40:16
関数ポインタをシェルスクリプトに返しても呼べないが如し
354350:2007/12/19(水) 18:16:05
レスありがとうございます。

>>351
>>350のソースはSWIGにかけてからdllを生成するつもりだったんですが、その点を書くのを忘れました。ごめんなさい。

>>352
どうして関数ポインタをRuby上で扱いたいかというと、既存のC++のクラスに関数ポインタのメンバがあって、
それをRubyでも使いたかったんです。

>>353
関数ポインタは使えないのですね。
とりあえずC++のソースの追加は必要ですが、>>350のようにやればRubyでも使えるようになると思っているので
それでやって見ます。もっと楽な方法があったら教えてください。

355デフォルトの名無しさん:2007/12/19(水) 20:31:50
Windowsだったらsuikyoってゆーローマ字変換ライブラリは使えませんか??
356350:2007/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デフォルトの名無しさん:2007/12/26(水) 04:18:49
$LIB_PATH には、./は入るんじゃなかったけ?
$SAFEが1以上なら、入らんみたいだが・・・
358デフォルトの名無しさん:2007/12/26(水) 04:19:21
とりあえず、プロンプトで、これどうなります?
$ ruby -e 'puts $:'
359350:2007/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デフォルトの名無しさん:2007/12/27(木) 01:06:46
ちゃんと、最後に、 ". "が入っているから、
上手くいくはずなんだがな・・・
361デフォルトの名無しさん:2007/12/27(木) 05:29:34
ファイルが見つからないんじゃなくて、mytest.soをDLLとしてロードできない何らかの理由があるんじゃないかな。
Init_mytestという関数がないとか、mytest.soが依存している他のDLLが動的リンクできないとか。
362デフォルトの名無しさん:2007/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です。
363350=362:2007/12/27(木) 10:19:06
とりあえず
%module MyTest
のところを
%module mytest
にすると上手くいくようです。
モジュール名は大文字で始めなければいけないという先入観がありました。
364デフォルトの名無しさん:2007/12/27(木) 22:15:16
ttp://arton.no-ip.info/diary/20071227.html#p03

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デフォルトの名無しさん:2007/12/27(木) 22:23:10
ゴルビーってなんやねん
366デフォルトの名無しさん:2007/12/28(金) 04:49:31
俺は全然まとはずれな、答えしてたのね orz

DLLの中美香
367デフォルトの名無しさん:2007/12/30(日) 01:40:29
artonさんとこのインスコして
うきうきわくわく

ruby -e "t=Time.now; 100000.times{}; puts Time.now - t"

ってやったら
1.8の方が速かった

しょぼーん(´・ω・`)
368デフォルトの名無しさん:2007/12/30(日) 03:51:52
どういうベンチなんだそれは・・・
369デフォルトの名無しさん:2007/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デフォルトの名無しさん:2007/12/30(日) 14:10:17
まちごうた
require 'benchmark'
puts `ruby -v`
puts Benchmark::CAPTION
puts Benchmark.measure { "a"*100_000_000 }
371デフォルトの名無しさん:2007/12/31(月) 07:38:09
>>368は、詳細をだせ、と言っているのではなく、
たぶん、それはベンチになっていないといいたいのでは?
372デフォルトの名無しさん:2007/12/31(月) 12:21:56
1.9のほうが遅い=ベンチになってない(Ruby脳)
373デフォルトの名無しさん:2007/12/31(月) 18:05:45
ActiveTcl8.5も出てたのか
374デフォルトの名無しさん:2008/01/02(水) 20:16:04
何十個かの言語のベンチを比較するページがどっかにあったけど、
あれ試せばいいんじゃね?
375デフォルトの名無しさん:2008/01/03(木) 09:38:43
RubyオセロをCOM同士で戦わせるベンチみたいなのはねーの?
376デフォルトの名無しさん:2008/01/09(水) 19:38:07
Rubyスクリプトから、ファイルを関連付けられてるアプリで開くにはどうすりゃよいですか?
377デフォルトの名無しさん:2008/01/09(水) 19:56:08
変数fileにファイル名が入ってるとして、

system("start #{file}")
378デフォルトの名無しさん:2008/01/09(水) 19:57:45
Win32APIのShellExecuteを呼ぶ
379デフォルトの名無しさん:2008/01/09(水) 20:24:41
>>377-378 thx
ShellExecuteで解決しました
ただ、反応しないファイル(assoc .extで関連付けが確認できないもの?)があるのですが
それらの対策ってできます?
380デフォルトの名無しさん:2008/01/09(水) 20:32:13
戻り値が32未満ならエラーだからさらにその意味を調べて分岐すればいい。
たぶんこれ
SE_ERR_ASSOCINCOMPLETE = 27;
詳細はググレカス
381デフォルトの名無しさん:2008/01/09(水) 21:16:19
zipを渡して戻り値SE_ERR_NOASSOC
関連付け設定しなおして再起動してもうまくいかず
試しに
system("cmd /c \"#{zipfile}\"")
だったらうまくいったり
他のPCだったら無問題だったので、自分の環境がおかしいということで
めんどくさいので解決ということにしました
指南どうもありがとう
382デフォルトの名無しさん:2008/01/11(金) 15:55:04
/\s/ =~ zipfile
383デフォルトの名無しさん:2008/01/13(日) 15:37:53
RubyでUSBカメラ2台以上のリアルタイム映像を取り込みたいのですが、
ふさわしいライブラリは何ですか?
用途はwindowsでの3次元画像処理です。

ここからは有ればいいなという程度の希望です。
今のところ、機能性と安定性の両方を考えると、Pure Rubyよりもラッパー系が良いかと考えています。
ラップされた方のライブラリがカメラに対応していて、なおかつラッパーが完成しているようなものが一番いいです。
384デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/01/14(月) 18:10:03
include VRTimerFeasible をclass定義内に
386デフォルトの名無しさん:2008/01/14(月) 19:55:36
> 用途はwindowsでの3次元画像処理です。

あきらかに、Rubyの用途じゃない
387デフォルトの名無しさん:2008/01/14(月) 21:51:55
>>385
できました。どうもありがとう!
388384:2008/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デフォルトの名無しさん:2008/01/15(火) 01:37:39
sleepんとこの処理をスレッドにするとかそういう話?
390デフォルトの名無しさん:2008/01/15(火) 10:46:47
WinグラマならPowerShell使おうぜ

6ヶ月以内にアクセスされなかったファイルを削除するサンプル
Get-ChildItem | Where-Object {$_.LastWriteTime -lt (Get-Date).AddMonths(-6)} | ForEach-Object {$_.Delete()}

もうRubyいらないね\(^o^)/
391デフォルトの名無しさん:2008/01/15(火) 11:55:49
LastWriteTimeが最終アクセス時間なのか?
392デフォルトの名無しさん:2008/01/15(火) 21:18:26
>>390
PowerShellのリファレンスマニュアルどこよ?
文法とか仕様とか標準ライブラリとか。
Rubyのリファレンスマニュアルレベルの物で良いからどこにあるのか教えてくれ。
俺はそれが見付からなくてやめた。
393デフォルトの名無しさん:2008/01/16(水) 10:24:08
394350:2008/01/16(水) 19:56:40
たびたびすいません。350です。
また教えてください。

SWIGでRuby拡張ライブラリを作っています。
関数の引数にポインタを渡してそれ、を介して値を返す場合typemaps.iに定義されているOUTPUTが使えるそうなのですが、
クラスのメンバ関数だと上手くいきません。
クラスのメンバ関数をtypemapにマッチさせるにはどうしたらいいでしょうか。
395350:2008/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; }
396350:2008/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
397350:2008/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
398デフォルトの名無しさん:2008/01/19(土) 21:52:13
ActiveScriptRubyの1.9.0はでないのかな
それとも1.9.1待ち?
399デフォルトの名無しさん:2008/01/21(月) 02:00:32
ActiveScriptRubyはヤル気あるのか?
1年以上放置してんじゃねーよ。
400デフォルトの名無しさん:2008/01/21(月) 02:03:58
枯れてるんなら余計なことはしなくていいよ
401デフォルトの名無しさん:2008/01/21(月) 22:16:55
どうして欲しいのか言わないと
伝わらないよ。
402デフォルトの名無しさん:2008/01/21(月) 22:17:42
1.9.0に対応してほしい。
403デフォルトの名無しさん:2008/01/21(月) 22:18:59
迷走してるから無理
404デフォルトの名無しさん:2008/01/21(月) 22:49:34
vcで作った拡張ライブラリのバイナリ配布って無理?mscr80になっちゃうでしょ
配布されてるやつはmscrt版だし
ここら辺はわかってる人同士の話しかないのでエンドユーザーには大変だな
405デフォルトの名無しさん:2008/01/21(月) 23:44:45
>>404
そういや、この辺まとめてあるページってないのかな?

gemとかで配布する、Win32用の拡張ライブラリ(DLL)のランタイム回りどうすればいいのという
406デフォルトの名無しさん:2008/01/22(火) 09:47:31
>>404
vが抜けてるあたりで君がわかってなさそうだということは伝わった。

>>405
gemで配布するのはどうすればいいんだろうね。
MinGW版向けということでmsvcrtが無難という気はするが。
407デフォルトの名無しさん:2008/01/22(火) 19:56:48
Ruby初心者です。環境はWindowsXP2とActiveScriptRubyで、
EmEditorから .rbを呼び出して使いたいのです。
開いているテキトスファイルに、.rbでの内容(主に文字列の置換)を適用するのが
主な目的です。Emのヘルプにはサンプルとして、

 #language = "RubyScript"
 Window.document.write( "Hello!" );

と書かれており、これはちゃんと Hello! と書き込まれるのですが、

 #language = "RubyScript"
 puts へのへのもへじ

と書くと「Bad file descriptor 」と出てきます。
ActiveScriptRubyを入れれば、
そのまま .rbファイルが読み込めるというわけではないのでしょうか?
さっぱりわかりません。

初心者過ぎてどこでおかしくなっているのかすら判らず立ち往生しています。
どうか問題点と解決策を御教示ください。お願いします。
408デフォルトの名無しさん:2008/01/22(火) 20:20:36
上の

puts へのへのもへじ

は、

puts 'へのへのもへじ'

の間違いでした。すみません。
409デフォルトの名無しさん:2008/01/22(火) 21:02:30
ActiveScriptRuby も EmEditor も使ってないけど
puts の出力先は Window.document ではないって事だろ
エディタのテキスト編集したいなら Window.document いじれ
410デフォルトの名無しさん:2008/01/25(金) 22:22:35
ActiveTcl8.5に対応したtcltklib.soはないんかい
411デフォルトの名無しさん:2008/01/27(日) 10:19:59
vrubyについて聞きたいのですが、
VRForm上に配置した特定のVRButtonのクリックをReturnキーで
行うにはどうすればいいのでしょうか?
412デフォルトの名無しさん:2008/01/27(日) 12:39:34
VBDefaultButton
413411:2008/01/27(日) 22:09:22
>>412
すみません、VisualRubyリファレンスで探しても、
vrubyのソース内をgrepしても、
vrubyとの組み合わせでググっても、
VBDefaultButtonは出てきませんでした。

VBicと関係あるのでしょうか?
お手数ですが、具体的な使い方を教えていただけないでしょうか?
414デフォルトの名無しさん:2008/01/28(月) 02:15:13
class VRDefaultButton < VRButton
def construct
super
self.stype |= BS_DEFAULTPUSHBUTTON
end
415デフォルトの名無しさん:2008/01/28(月) 21:49:17
>>414
以下のようなコードを書いてみたんですけど、Returnキーに反応してくれませんでした。
アドバイスがあればよろしくお願いします。

require 'vr/vruby'
require 'vr/vrcontrol'

class VRDefaultButton < VRButton
def construct
super
self.stype |= BS_DEFAULTPUSHBUTTON
end
end

class Form1 < VRForm

def construct
self.move(140,124,330,200)
addControl(VRStatic,'static1',"ボタンを押して",64,24,176,24,0x201)
addControl(VRDefaultButton,'button1',"ボタン",64,80,176,32)
end

def button1_clicked
@static1.caption = "押しました!"
end

end

VRLocalScreen.start Form1
416デフォルトの名無しさん:2008/02/01(金) 07:24:38
include VRKeyFeasible

ちなみに色んな意味でVirualRubyは腐ってるから
本気でGUI検討してるならwxRubyの方がお勧め
417デフォルトの名無しさん:2008/02/02(土) 07:20:53
指定したファイルが
隠しファイル属性を持ってるか
調べるにはどうすれば良いですか?

ASR使えば出来るのかな…?
Ruby標準の機能で出来るならソレが一番良いのですけど
418デフォルトの名無しさん:2008/02/02(土) 07:39:06
Win32Utils の win32/file
419デフォルトの名無しさん:2008/02/03(日) 22:30:29
>418
ああ、組み込み機能では出来なくとも、それでいけるのか。さんくす。
420デフォルトの名無しさん:2008/02/06(水) 23:10:08
是非ともWin32::APIを標準ライブラリに!
421デフォルトの名無しさん:2008/02/07(木) 12:13:03

激しくスレ違いかもしれませんが、質問です。

PCゲームを多重起動しようと試みたのですがダメでした。
大抵のゲームはWindowsのアカウントを2つ作成し、別々のアカウントで起動すれば問題ありません。

現在、Vistaを使っているのでXPではどうなるかはわかりませんが(XPは右クリックから別ユーザーで起動が可能)、
Vistaでその手法をとる場合、runasコマンドを使用することになります。
しかしこのコマンドで別々に起動しても、後から起動したほうが無効になってしまいました。

で、ここからがわけわかめなのですが、同一のデスクトップからの起動はダメでも、
Windowメニュー→ユーザー切り替えをし、別々に起動すればうまくいきました。

この違いはいったいなんなのでしょうか?
 
422デフォルトの名無しさん:2008/02/07(木) 12:56:48
なんの誤爆だよ
423デフォルトの名無しさん:2008/02/07(木) 22:18:45
424デフォルトの名無しさん:2008/02/28(木) 20:18:35
なんか書け
425デフォルトの名無しさん:2008/02/28(木) 21:09:57
なんかっつっても1.9.0でないしな
426デフォルトの名無しさん:2008/03/01(土) 17:58:28
いや、1.9.0-0は出てたろ。
1.9.0-1も出たし。
427デフォルトの名無しさん:2008/03/01(土) 20:24:17
win32oleはユニコードに対応しないのか
428デフォルトの名無しさん:2008/03/02(日) 06:24:41
出てないのは、このスレのサブタイ ActiveScript Rubyの事ね
429デフォルトの名無しさん:2008/03/10(月) 23:27:52
gem+ActiveRecord+exerbってイケる?
なんかうまくいかんのだが…
mkexyで作ったファイルでexerbしてみるとなんか
C:/Program Files/ruby-1.8/lib/ruby/site_ruby/1.8/exerb/recipe.rb:146:in `add_file_entry': control.exy: no such file -- C:/Program Files/ruby-1.8/lib/ruby/gems/1.8/gems/activesupport-2.0.2/lib/active_support/inflections.rb (RuntimeError)
とか言われるし、exyファイルの中身みて手動で書き換えるとexeは作れるんだけど
rubygems.rb:304:in `report_activate_error': Could not find RubyGem activesupport (>= 0.0.0)
とか言われてしまうぜ どーしたらいいんだ…
430デフォルトの名無しさん:2008/03/11(火) 12:01:16
>>429
C:/Program Files/ruby-1.8/lib/ruby/gems/1.8/specifications
などもいるんじゃないかな、と適当なことを書いてみる。
431デフォルトの名無しさん:2008/03/11(火) 23:46:05
>>430
メンゴ ベリわかんねぇ
もっと詳しく頼めるか…

よーするにgemspecさんたちの中に幸せになれる情報が詰まってるからそれも一緒にアーカイブしてくれるようにexyファイル記述すればいいのか?
だがしかしgemもexerbも原理理解してない俺は
 activesupport-2.0.2.gemspec:←ここどう書けばいいかわかんねぇ… gems/activesupport-2.0.2.gemspec:?4種類くらいアテカンで試したけどわかんね
  file: C:/Program Files/ruby-1.8/lib/ruby/gems/1.8/specifications/activesupport-2.0.2.gemspec
432デフォルトの名無しさん:2008/03/13(木) 07:29:37
たぶんgemとexerbはかなり相性悪い…
というかどちらもrequireを上書きするから同時に使うのはほぼ無理じゃないかな

面倒だが一番すっきり解決する方法はgemを使わずにライブラリをインストールすること
それが困るならmkexyの時にrubygemsをrequireせずに、
gemがインストールされているディレクトリを-Iで指定してrequireすること
あとはmkexyを使わずに自分でレシピファイルを書く方法もあるな
433デフォルトの名無しさん:2008/03/13(木) 22:10:56
>>432
ActiveRecordとActiveSupportをgemんとこから引っこ抜いてきて、
requireしてるとこやらなにやらぶっ殺して回ったらとりあえず動くexeが作れたよ!
さんきゅべりまっち!
なんかスマートに片付いた感じがしないけど!
434デフォルトの名無しさん:2008/03/15(土) 12:14:00
Windows特化fork http://www.sapphire-lang.org/
"Better overall management"ってのが笑えるけどな。
435デフォルトの名無しさん:2008/03/15(土) 23:34:57
再発した…

active_support/core_ext/class/attribute_accessors.rb:24:in `cattr_writer': unde
ined method `extract_options!' for [:silencer]:Array (NoMethodError)
from active_support/core_ext/class/attribute_accessors.rb:46:in `cattr_
ccessor'
from active_support/clean_logger.rb:18
('A`)モウダメポ わかるかこんなもん…!!

gem + Mechanize + exerb + activerecord(activesupport) + composite_primary_keys + wxRuby2
作成手順
・mkexyする
・gemがactivesupportみっかんねーよとか言い始めるのでrubygems系をexyからどかす
・activexxxさんがgemないよとかいうからrequire 'gems'してるとこをどかす
>>433ではこれで動いた ↑
で、上記エラーが出る
wxRubyでGUI追加しただけなんだけどなぁ…なんでだ…
環境はWinVista + ActiveScriptRuby 1.8.6(p114) + 必要なものはgemで入れ(gem update随時)

Ruby以外の言語でコンパイルできてMechanizeとかActiveRecordみたいな便利なモンある言語しらねぇよorz
436デフォルトの名無しさん:2008/03/16(日) 00:25:44
関係ないかもしれんがwxRuby2はそのままではexerb化しても上手くいかない
wx.rbにwx/classes/*.rbを実行時に列挙してrequireしてるところがあるから
そこを書き換えるんだ
437デフォルトの名無しさん:2008/03/16(日) 00:52:33
>>436
GUI部分だけだとExerbでExe化できてるのよ…
wx.rb見てみたけど、相対パス作ってrequireしてるだけっぽいから大丈夫っぽくない?ダメなの?

そして全部展開してみてやってみたけど結果変わらずだった…
438デフォルトの名無しさん:2008/03/16(日) 17:46:18
とりあえず、rubyでGUIでコンパイルが条件ならruby2exeで代用してみれば?
ただ、起動が激重になるけどね。
439デフォルトの名無しさん:2008/03/16(日) 20:55:50
>>438
rubyscript2exeやってみたよ!
wxRubyでxrcファイルを上手く取り込めない
wxruby2.soがエラー吐いてるっぽかったからどうしようもない気がした

しょうがないからGUIを自力でソース上に書いてまとめたらとりあえず動くようになった!

でも起動してもコマンドプロンプトが出ちゃってダサい
http://www.erikveen.dds.nl/rubyscript2exe/index.html#3.1.0
みて --rubyscript2exe-rubyw 指定すると出なくなるけどActiveRecord使うらへんで落ちてるっぽいからもう気にしないことにした

そしてご指摘の通り起動が激重で泣ける orz
俺のマシンだと5秒くらいだけど古いノートパソコンでやると30秒以上余裕でかかるし…
440デフォルトの名無しさん:2008/04/01(火) 09:47:19
wxRubyって既存のコントロールの描画をカスタマイズして使用したりする用途は不向き?
ListCtrlのアイテムのフォーカス枠が見えにくいんで描画をカスタマイズしようとしたけど
ListCtrlのSizeとかRectを得る系のメソッドがことごとく未実装だった・・・
441デフォルトの名無しさん:2008/04/01(火) 22:28:40
不向きということもないとは思うが、
あまり使われないようなメソッドはまだまだ実装されていないのが多い
自分で実装してパッチ投げると皆幸せ
442デフォルトの名無しさん:2008/04/03(木) 10:13:37
そこまでのハッキング力はないのでevt_paintを丸々処理して解決してたんだけど、
get_itemでカラムのテキストが取得できないっぽいのでもうコントロール自体を
自作したほうが早そうだ・・・

なんか本家のwxWidgetsでも既存コントロールのカスタム描画は
難がありそうな感じがする
443デフォルトの名無しさん:2008/04/03(木) 21:38:06
既存コントロールは結局ベースの実装によって変わっちゃうからなぁ
拡張は難しいかもな
444デフォルトの名無しさん:2008/04/22(火) 00:53:04
なんかFrameにSizerくっつけると普通にSizer使えるけど
WindowにSizerくっつけるとまったく動かない。
なんかいろいろいじってもうまく行かないのでここで質問しようと思ったけど
ちょっと本家で試してみる。
445デフォルトの名無しさん:2008/04/22(火) 00:53:27
444ゲット!
446デフォルトの名無しさん:2008/06/16(月) 00:34:15
るりまのchmがいけてないのが心配でならない
447デフォルトの名無しさん:2008/06/16(月) 09:47:47
正直読みづらいよなアレ
448デフォルトの名無しさん:2008/06/16(月) 11:51:27
>>446-447
もう少し具体的に教えてほしいな。
もっと使いやすくなるかもよ?
449デフォルトの名無しさん:2008/06/16(月) 19:21:10
そもそもバグトラッカー止まってるのにどこに言えば……
と思ってたら、いつの間にか復活していたのか

>>448
・目次上で、あらゆる種類の標準クラスが「標準ライブラリ」の項へフラットに突っ込まれてるところ
・目次上で、あらゆる種類の添付ライブラリがフラットに突っ込まれてるところ

あとは多分慣れの問題
450デフォルトの名無しさん:2008/06/16(月) 19:53:09
るりまは、いちいちメソッドのページにいかないと詳細を見られないのがめんどくさい
451デフォルトの名無しさん:2008/06/16(月) 19:54:54
前のchmファイルみたいに、
・標準クラスは継承の階層にしてほしい
・標準添付ライブラリはジャンル別にまとめてほしい
ってことか? なら完全に同意。

Refe2のデータベースからまんま作るからだと思うけど、標準クラスライブラリが辞書順でソートされてても
あんま嬉しくないんだよな。検索できるし。
452デフォルトの名無しさん:2008/06/20(金) 18:25:55
453デフォルトの名無しさん:2008/06/21(土) 02:02:38
WindowsでRuby/MySQL(MySQL/Rubyではない)使っている方いますか?
MySQLが4.1なのでパッチをあてたのですが、
"引数の数が違う"というエラーが出て接続できません。(テストも同じエラーで通らない)
パッチはちゃんと適用されてると思うんですが・・・
当初Windowsでは動かないのかとも思ったんですが、レン鯖のUNIXでも同じ様子です。

アクセスのコードはマニュアルのとおりです。
my = Mysql::new("hostname", "user", "passwd")
my = Mysql::new("hostname", "user", "passwd", "dbname")

もし原因が思い当たる方いましたらお願いします。Win32のRuby1.8.7です。
454デフォルトの名無しさん:2008/06/21(土) 02:11:09
453追記
Ruby/MySQLのバージョンは0.2.6です
455453:2008/06/22(日) 03:34:24
まだ完全ではないのですが、ほぼ解決できてきました。
ライブラリ中で関数の呼び出し方に誤りがあり、そのためでした。
公開当時と少し変わったのかもしれないですね。
とりあえず接続までうまく行きましたm(_ _)m
456デフォルトの名無しさん:2008/06/25(水) 15:29:39
1.8.7(p22)
457デフォルトの名無しさん:2008/06/27(金) 20:26:33
readlineってどうやってビルドすんの?
458デフォルトの名無しさん:2008/06/28(土) 11:30:14
>>457

ヘッダとライブラリがあって、configureで指定してあれば、自動で作る。
在りかはぐぐれ。
それでもだめなら、やったこととext/readline/mkmf.logを添えてruby-listへ。
459デフォルトの名無しさん:2008/07/20(日) 17:36:46
VisualuRubyのことで質問があります。

VRMessageHandlerモジュールに、WM_LBUTTONUPなどの生のメッセージとハンドラ
(メソッド)を結びつけるためのaddHandlerというメソッドがありますが、これの4番目の
引数のargparsestrとはなんですか? リファレンスの英語の説明ではよくわかりません。

(検知したいメッセージはvrubyで対応しているものとは限らないが、vrubyは使いたい
ので、msghandler上書きではなく上の方法でやりたい)

あと上のやり方で登録したメソッド内でメッセージのパラメータ(lparamやwparam)
にアクセスするにはどうすればいいのでしょうか?
460デフォルトの名無しさん:2008/07/20(日) 17:59:48
vruby.rbのmsgarg2handlerargを見ればわかるはず
461デフォルトの名無しさん:2008/07/20(日) 19:44:12
ありがとうございました。わかりました。

argparsestrはメッセージのパラメータに構造体のポインタが渡されてくる場合に
String#unpackの引数と同じものを構造体の中身に合わせて指定、

パラメータはMSGTYPE::??に応じてmsgarg2handlerargに書かれた形式でハンドラ
に渡してもらえる。

と理解しました。
462デフォルトの名無しさん:2008/07/21(月) 14:07:05
463デフォルトの名無しさん:2008/08/08(金) 23:00:54
WIN32OLEでエクセルいじるスクリプト組んで
rubyscript2exeで実行形式作ってて、
exit使ってbatにエラー返そうとしたらEXCEL.exeが残り続けちゃうんだけど
そういうやついる?
これでおちるんだけど
require 'win32ole'
exp_xls = "Book1.xls"
fso = WIN32OLE.new('Scripting.FileSystemObject')
begin
excel = WIN32OLE.new('Excel.Application')
book = excel.workbooks.open({"filename"=>fso.GetAbsolutePathName(exp_xls),"readOnly"=>true})
ensure
book.close
excel.quit
end
exit(-1)

464デフォルトの名無しさん:2008/08/09(土) 03:39:00
ensure
block.close
excel.quit
fso = book = excel = nil
GC.start
end
exit(-1)
でどう?
465デフォルトの名無しさん:2008/08/09(土) 22:03:31
>>464
ありがとう!
GCに回収させるのか。
ちょっと会社で試してみる
466デフォルトの名無しさん:2008/08/09(土) 22:46:25
なぜWSHでやらないのか
467デフォルトの名無しさん:2008/08/11(月) 23:55:48
>>466 なぜお前がここにいるのか
468デフォルトの名無しさん:2008/08/12(火) 12:29:23
rubyの添付ライブラリてフォルダ100ファイル1000くらいかな?もっとあるよね
標準添付ファイルだけでも1ファイルに収まるような仕組みのrubyてでないかな
データベースみたいなので

cygwinもそうなんだがwindowsのファイルシステムて小さなファイルが大量に発生するのって
あんまり想定してないよね。ディレクトリからしてディスク移動が標準でできないせいでディスク分断がひどいんだよね
469デフォルトの名無しさん:2008/08/12(火) 13:57:13
>>468
exerbとかで一つのバイナリファイルにまとめてしまえばいいんじゃね?
470デフォルトの名無しさん:2008/08/16(土) 01:40:58
1.8.7(p72)
471デフォルトの名無しさん:2008/08/16(土) 15:52:32
>>468
Pythonだとzipimportってのがあって、LIB_PATH相当にzipファイルを入れておくと、
そこからからライブラリを読むんだよな。
Rubyでも決してない需要ではないはず
472デフォルトの名無しさん:2008/08/22(金) 12:38:03
zipにするとzlib必須になるからなぁ。
tar相当のほうがいいのかな。
473デフォルトの名無しさん:2008/08/27(水) 14:08:07
久しぶりに秀丸使ってみたら単語補完とかあって便利だった
474デフォルトの名無しさん:2008/09/04(木) 16:35:07
1.9からは
WIN32OLE -> Win32OLE
require 'Win32API' -> require 'win32api'
にしてくれないかなあ
統一感がなくて気持ち悪いから
475デフォルトの名無しさん:2008/09/05(金) 19:54:48
>>474
とりあえず、後者は、require 'dl/win32' だ。
476デフォルトの名無しさん:2008/09/09(火) 12:14:09
これ楽しすぎるだろ

InfoQ: ファイルシステムでHello World
http://www.infoq.com/jp/articles/filesystem_helloworld_1
477デフォルトの名無しさん:2008/09/09(火) 17:44:36
Dokanあついよね。Windowsでまさか、Rubyでファイルシステム作られるとは思わんよ
478デフォルトの名無しさん:2008/09/13(土) 13:08:07
なんでそういうの日本人が作るとネーミングセンスのかけらもないの?
479デフォルトの名無しさん:2008/09/14(日) 21:09:11
そういうな。例えば linux だって結構イタい名前だ。
世の中そんなもんだ。
480デフォルトの名無しさん:2008/09/22(月) 00:30:53
Win32OLEの1.8と1.9の違い(その1)
ttp://suke.cocolog-nifty.com/blog/2008/07/ruby_win32ole18_ffbb.html
Win32OLEの1.8と1.9の違い(その2)
ttp://suke.cocolog-nifty.com/blog/2008/07/ruby_win32ole18_9fb9.html
Win32OLEの1.8と1.9の違い(その3)
ttp://suke.cocolog-nifty.com/blog/2008/07/ruby_win32ole18_c298_1.html
Win32OLEの1.8と1.9の違い(その4)
ttp://suke.cocolog-nifty.com/blog/2008/08/ruby_win32ole18_5f71.html

WIN32OLE_EVENT
ttp://suke.cocolog-nifty.com/blog/2008/07/ruby_win32ole_e_1.html
InternetExplorer.Application から DWebBrowserEvents2 を導く方法
ttp://suke.cocolog-nifty.com/blog/2008/07/ruby_internetex_022f.html
WIN32OLE_EVENTの第2引数の省略
ttp://suke.cocolog-nifty.com/blog/2008/07/ruby_win32ole_e_b8c0.html
WIN32OLE_EVENT#on_event_with_outargs
ttp://suke.cocolog-nifty.com/blog/2008/07/ruby_win32ole_e_3.html
WIN32OLE_EVENT#on_event_with_outargs (その2)
ttp://suke.cocolog-nifty.com/blog/2008/07/ruby_win32ole_e_4ba1.html
WIN32OLE_EVENT#on_event_with_outargs (その3)
ttp://suke.cocolog-nifty.com/blog/2008/07/ruby_win32ole_e_d617.html
WIN32OLE::VARIANTモジュールとWIN32OLE_VARIANT
ttp://suke.cocolog-nifty.com/blog/2008/07/ruby_win32oleva_81c9.html
Win32OLE 今、実装してみようかと考えているもの
ttp://suke.cocolog-nifty.com/blog/2008/07/ruby_win32ole_90a0.html
Win32OLE 対応できるんだったら対応したいもの
ttp://suke.cocolog-nifty.com/blog/2008/07/ruby_win32ole_2ac7.html
WIN32OLE_EVENT
ttp://suke.cocolog-nifty.com/blog/2008/07/ruby_win32ole_e_2.html
481デフォルトの名無しさん:2008/09/24(水) 02:47:32
>1. WIN32OLE#[], WIN32OLE#[]= を使ったプロパティの設定、参照が1.9ではできない。
ああ、たまに使ってたのに
482デフォルトの名無しさん:2008/09/26(金) 00:09:50
Exerb で rails 動かせた人いない?
Exerb はrequireの挙動が違って、railsの中でFile.expand_path(__FILE__)とかやってる場所でこける。
逐一直せば動きそうだが、根本的な解決がしたい。
483デフォルトの名無しさん:2008/09/26(金) 14:07:45
前にexerbか、rubyscript2exeかで固めたrailsアプリを配布している人がいて、
ちゃんと動いていた記憶がある。
どこのブログだったかな・・・
Railsでデスクトップアプリ、とか言っていた気がするが
484デフォルトの名無しさん:2008/09/26(金) 14:21:39
Brails - Social Bookmark Manager by Ruby on Rails
http://llamerada.ty.land.to/brails.html

これだ。でもどれでパックしたかページには書いてないや。

別にRailsパックする方法書いてあるサイトあった。
こっちは、rubyscript2exeでやる方法

Distributing Rails Applications - A Tutorial
http://www.erikveen.dds.nl/distributingrubyapplications/rails.html

485482:2008/09/26(金) 21:01:58
>>483-484
ありがとう
今Windowsマシンがなくて試せないけど、月曜になったらやってみます。

Macには rorgate とかいう rails でデスクトップアプリを
作るためのフレームワークがあるらしいけど、
Windowsではあまりそういう需要はないのかな。
DB処理に裏でActiveRecordが使えるし、
画面がHTMLとCSSで作れるので、
ページ遷移が多くてかつDBを使うときは結構嬉しいと思うんだけど。
486デフォルトの名無しさん:2008/09/26(金) 22:45:32
Exerb4.8でrails2.0.2のパックはできたが、かなり面倒だった。
ほかの誰かが同じ目に遭わないように、覚え書き置いときます。

1.Kernel.loadをrequireまたはevalで置き換える。
 requireの場合、mongrel_rails等は.rbをつけてレシピに書き
 置き換えた後のload内でも適宜.rbを付加するようにする。
2.dirname用のファイル名→ディレクトリ名テーブルを作る。
 レシピファイルからどうにか生成する。
 File.dirnameはこのテーブル→実ファイルの順に検索するよう変更。
3.rubygems対策に $:.push RbConfig::CONFIG["sitelibdir"] する。

特別な理由がなければ>>484でいいわ。最初から見つけていれば。。。
exerbのloadと__FILE__はもうちょっと何とかならないのかな。
487482:2008/09/27(土) 11:27:35
486の補足で、その原因と思われるものを書いておくと、
Exerbの__FILE__にはフルパスが入っていないこと。(多分requireで呼び出したときの名前がそのまま入ってる)
本家rubyでは、例えばactive_support.rbにputs __FILE__を追加して、
require 'active_support'すると、ちゃんとフルパスが表示される。
Exerbでは active_support.rb と表示される。
# __FILE__が常にフルパスになるようにExerbのソースを書き換えようと思ったけど挫折しましたorz
# そもそも、そのファイルがあるディレクトリを、File.expand_pathなんて方法で取ってるのが嫌
# Rubyらしく(?)__FILE__は文字列じゃなくてファイルオブジェクトを指してほしいなあ。
# あ、書き忘れてたけど、俺の環境はruby1.8.6とExerb4.4でした。
488デフォルトの名無しさん:2008/09/27(土) 12:10:25
__FILE__がフルパスになるとしたらexeがある場所でいいのか?
どっちにしろそこにrbを置いとかないとならんからちょっと面倒だな

__FILE__より$0がフルパスになってくれると嬉しいんだけどなぁ
489デフォルトの名無しさん:2008/09/27(土) 12:21:08
>__FILE__がフルパスになるとしたらexeがある場所でいいのか?
exeがある場所じゃなくて、ライブラリのそのファイルがある場所。
active_supportなら、例えば c:/my_project/vendor/rails/activesupportx.x.x/lib/active_support.rb
490デフォルトの名無しさん:2008/09/27(土) 15:04:28
一つ質問させてください。
Windows環境で、rubyスクリプトを実行するときに、Systemフォルダがある場所(%SYSTEM%のパス)を知りたいのですが
何か方法はないでしょうか?

win32oleを使えば何とかなると思っていたのですが
Wscript.Shellのメソッドには、見たところパスを取得する手段がないようです。
491デフォルトの名無しさん:2008/09/27(土) 15:57:23
win32ole経由で環境変数の値が取れるので%SystemRoot%か%windir%は分かるでしょ
492デフォルトの名無しさん:2008/09/27(土) 16:03:15
%SYSTEM%ならWin32 APIのGetSystemDirectory。

%SYSTEMROOT%ならそのものズバリの環境変数。
puts ENV['SYSTEMROOT']
493デフォルトの名無しさん:2008/09/27(土) 16:04:19
require 'win32ole'
fso = WIN32OLE.new('Scripting.FileSystemObject')
puts fso.GetSpecialFolder(0).path # windows folder
puts fso.GetSpecialFolder(1).path # system folder
puts fso.GetSpecialFolder(2).path # temp forlder
494490:2008/09/27(土) 19:21:17
回答ありがとうございました!
今回は古い環境での動作を考え、Win32APIを使って解決させていただきました。
495デフォルトの名無しさん:2008/09/28(日) 02:31:30
exerbで__FILE__の話なら「るびま」のwindows用の本にも載ってるし…
ExerbRuntimeでググれよ
496デフォルトの名無しさん:2008/09/28(日) 12:15:23
>>489
俺が意図を読み違えてるだけかもしれないが、
exeに固めた後はライブラリのそのファイルがある場所って所にそのファイルが無いかもしれないんだぞ
というかそのファイルから読み取らずにexeから直接読み取ってるのでパスは入れられないんじゃないか?
固める前のパスが欲しいってなら出来るかもしれないけど、何か意味あんのかそれ
497デフォルトの名無しさん:2008/10/21(火) 19:58:27
Win32APIは、戻り値がBOOLなのが多いから、戻り値に'b'を指定したら、
0の時だけfalseにして値を返すとかにしたらいいのになあ
498デフォルトの名無しさん:2008/10/26(日) 18:32:44
Vectorで拾ったバーコード生成DLLを利用して、ラベルに印刷したりしてるんだけど
逆にそれをスキャンして、JPG画像ファイルから認識させるツールをご存知のかたはいませんか?

フリーなもので探してるのですが、商用ライブラリとかしかみあたらなくて...
zxingとかjava系のものはいくつかあるようなのですが、Javaはさっぱりでわかりません。
499デフォルトの名無しさん:2008/10/27(月) 00:13:27
何をしたいのか知らないけど安いバーコードリーダを買った方が早いと思う
500デフォルトの名無しさん:2008/10/27(月) 06:38:33
バーコードリーダを現在つかってますが、それ以外の情報も画像中に
含まれているので一括してソフト的に捌きたいのです。
501デフォルトの名無しさん:2008/10/27(月) 10:06:35
どこのスレが適切かはわからないけど
少なくともここよりもっといいスレがあるはず。
手に入れたDLLがRubyから呼べなくて困ってるって
段階になったらまたおいで。
502デフォルトの名無しさん:2008/11/01(土) 23:43:25
pythonにはあったような
503デフォルトの名無しさん:2008/11/02(日) 23:44:53
VC++で作った拡張ライブラリを他のPCで使おうとしたら、「このアプリケーションの構成が正しくないため、アプリケーションを開始できませんでした」
というエラーになるのですが。
多分、VC++のランタイムがないのが原因みたいなのですが、VC++のない環境でも利用できるようにするにはどうすればいいですかね?
504デフォルトの名無しさん:2008/11/03(月) 00:05:58
>>503
VC++がないと動かない、というのはデバッグ版でビルドしているからだろう。
配布されているランタイムにはデバッグ版のDLLは付かないから

そうじゃなくて、ランタイムがいらないように作りたい、というのならば
最初からランタイムが入っているような古いVC++でコンパイルする、とか。
か、Delphiでも使えよw

まあ、普通はランタイム入れる
505500:2008/11/03(月) 07:35:31
>>502
thx!
Pythonがらみで検索してたら、SDLで処理するライブラリを発見できました
barcode.pyはもともとSDLcamのコードを実装したらしいです。
まずはSDLcamでどうなるかチャレンジしてみます(V4L使うのでWinじゃなくなっちゃうけど)
506デフォルトの名無しさん:2008/11/04(火) 08:55:06
適当に言ったんだけどあるところにはあるもんですね
507デフォルトの名無しさん:2008/11/05(水) 06:56:59
Windows上でTIFFやJPEGの画像ビューアを作ってみようと思ったのですが
VisualuRubyではBitmapしか貼付けられないようなので、
どのフレームワークを使えばいいか迷っています。

gtkだと日本語表示もろもろ何かとハマりそうなので避けたいと思ってるのですが、
いまどきは支障ないものでしょうか?

最終的にはカーソル部分の拡大を実装してみたかったんですけど...
508デフォルトの名無しさん:2008/11/05(水) 07:06:26
ちなみに迷ってるってのは

Apollo ... もうメンテされてない? gemsと仲わるそう
QT ... win版は商用? 日本語不安
tk ... いま一番話題かも(違) 地味だけど無難そう
gtk ... ver毎にハマる事多いし日本語不安, でも今はgladeの読み込みできるんだっけ?
vr ... JPEG張れる部品があればいい?
WIDESTUDIO ... すごく、さけたい、です。

FXなんとかとか他にもGUIものあった気がするけど、メンテされてないっぽい?
509デフォルトの名無しさん:2008/11/05(水) 08:09:41
一番おすすめなのは、Ruby以外です
510デフォルトの名無しさん:2008/11/05(水) 08:17:52
>>508
> gtk ... ver毎にハマる事多いし日本語不安, でも今はgladeの読み込みできるんだっけ?

自分は最近使い始めたばかりだけど、今の(といってもけっこう古いけど)
Ruby-GNOME2のパッケージにはGlade入ってるし普通に連携できるよ。

One Click Ruby Installerとruby-gnome2-0.16.0-1-i386-mswin32使ってる。
511デフォルトの名無しさん:2008/11/05(水) 09:16:01
>gtkだと日本語表示もろもろ何かとハマりそうなので避けたいと思ってるのですが、
>いまどきは支障ないものでしょうか?

UTF-8でまとめれば大丈夫
って言い切れないのかRubyは
512デフォルトの名無しさん:2008/11/05(水) 11:04:30
gui上の表示はutf-8で大丈夫だと思う。それ以外の部分でうまくいかないときは
shift-jisと相互変換すればなんとかなるでしょw
513デフォルトの名無しさん:2008/11/05(水) 11:23:44
http://ruby-gnome2.sourceforge.jp/ja/hiki.cgi?tips_i18n
に目を通しておくとよいかと。
514デフォルトの名無しさん:2008/11/05(水) 12:39:49
Ruby/Qtって今どうなの?
515デフォルトの名無しさん:2008/11/05(水) 16:34:56
>>508
個人的にwxRuby2をプッシュ
あとFxRubyはそこそこメンテされてた気がするがruby-fltkと間違ってない?
516デフォルトの名無しさん:2008/11/05(水) 16:50:17
susieプラグインとか使えば何だっていけるじゃん
517508:2008/11/05(水) 19:20:30
てっとりばやくバイナリの準備されてたruby-gnome2入れてみました。
gtk1.xの頃に使って以来、冷めた目でみてましたが確かによくなってました。
日本語もまったく問題なかったです。ドキュメント以外w

Uconv使って内部やファイルとのやりとりは問題ないことは確認できました。

あとはComboBoxEntryの使い方を調べようとしたら書いてないだとか
Imageがスケーリング出来ないとか、ちょいちょいハマってはいますが
gtk自体のマニュアルよんでけばなんとかなるかな?っと

gladeの部品をどう読み込むのが筋なのかイマイチわかってないので
テキトーにget_widget(だったか?)しちゃってます
518デフォルトの名無しさん:2008/11/05(水) 21:25:34
519デフォルトの名無しさん:2008/11/06(木) 00:40:50
( ゚∀゚)人(゚∀゚ )やったナカーマが増えた。

>517
>あとはComboBoxEntryの使い方を調べようとしたら書いてないだとか

APIの目次になくてもページはあったりするので要注意。「ruby」というキーワード
と組み合わせてぐぐれば見つかる。ていうかサイトで検索すればいいか。
ttp://ruby-gnome2.sourceforge.jp/ja/hiki.cgi?Gtk%3A%3AComboBoxEntry
520デフォルトの名無しさん:2008/11/06(木) 06:35:40
むぅ。そんな罠が...
vrwinとかのCombobox的に使うのかとおもってたんですが
テキストの固まりみたいな扱いなんですね...

>>515
wxruby2とFXRubyもなかなかなGUIビルダがあるので、そちらも
試してみたいとおもいます。
521デフォルトの名無しさん:2008/11/06(木) 14:33:12
wxの方が何かと楽だが
522デフォルトの名無しさん:2008/11/06(木) 15:29:37
FXRubyは日本語入力に難有りじゃなかったっけ?
この欠点がなければ日本でももっと使われただろうに
523デフォルトの名無しさん:2008/12/10(水) 22:09:53
wxRuby/FXRuby/VisualRubyいろいろ触ったけど
wxPythonが一番楽だった
524デフォルトの名無しさん:2008/12/14(日) 15:01:21
>>523
>wxPythonが一番楽だった
wxRubyの間違い?
525デフォルトの名無しさん:2008/12/14(日) 20:07:25
ワロシ
526デフォルトの名無しさん:2008/12/17(水) 22:06:10
neta でしょw
527デフォルトの名無しさん:2008/12/20(土) 22:01:53
tk/gtkは強力なのは解るけど、packの概念がめんどっちいな。
ちょっとしたスクリプトのフロントエンド作る程度ならvbicが比較的らくだった。

wxはrubyでのドキュメントとか実例がすくなさそう
528デフォルトの名無しさん:2008/12/20(土) 22:21:06
>>527
今なら一応、wxRubyの解説サイトがあるね
ttp://wx.k5-n.com/wxruby/

ただ日本語の説明が少ないのは確かだと思う
強力なライブラリだから、もっと人口&情報が増えてもおかしくないと思うんだけどなー
529デフォルトの名無しさん:2008/12/21(日) 21:31:13
一応XRCもつかえるんだね
ttp://wx.k5-n.com/wxruby/tutorial03.html#hd005
ttp://wx.k5-n.com/wxruby/taskbaricon.html#hd008
おもしろそうだから試してみようかな
530デフォルトの名無しさん:2008/12/21(日) 22:26:47
ワンクリRubyとqtruby4(gem)をインストールして、ネットにあったHello,worldスクリプトを
実行してみたら、エラーで動かないので悩んでいたが、どうやらmingwm10.dllを手作業で
入れなければいけなかったらしい。アホか。
531デフォルトの名無しさん:2008/12/23(火) 14:30:35
ほとんどのRuby関連の開発者のPCにはデフォで入ってて
配布する前にテストしても問題が顕在化しないんだろな
もっと裾野の広い配布テストしないといけない
532デフォルトの名無しさん:2008/12/27(土) 13:52:24
LL+GUIみたいな簡易GUIは、楽なはずなのにやる気でないよな
TclTkなんかサンプル見ておなかいっぱいになってたし
自分のためのGUIなんてほとんど必要ないって事か
533デフォルトの名無しさん:2008/12/27(土) 14:05:05
>>532
そりゃ自分で使うためのプログラムなら、9割の目的はCUIで達成できるし、その方が断然楽だ
他人に使わせるためにこそGUIが必要なわけで
534デフォルトの名無しさん:2008/12/29(月) 04:12:47
>>533
CUIでも、他人に使わせるために、-hの表示を充実させれば良いだけのことだろ?
CUIでも、GUIでも、他人に使わせることに工夫しているソフトとそうでないソフトがあるだけ。
GUIにしているだけで、他人が使いやすいと思うな。
経験あるだろ? なんだこれ?っていうGUI付きのソフト。
ない? 幸せな奴だなw
535デフォルトの名無しさん:2008/12/29(月) 04:24:35
CUIとGUIじゃ、ユーザー数が違いすぎるだろ…
それに-hなんてお約束知ってるのは慣れてる人だけ。
つーかコマンドプロンプトの存在自体知らない人も多いってのに…
536デフォルトの名無しさん:2008/12/29(月) 10:53:38
だからといってGUIだけどクソ、というものがあることに変わりはない。
537デフォルトの名無しさん:2008/12/29(月) 16:36:28
勝手に論点ずらして何言ってんだ?
538デフォルトの名無しさん:2008/12/30(火) 01:07:42
>>533
> 他人に使わせるためにこそGUIが必要なわけで

↑そもそもこれが論点ずれ過ぎなんだがw
へぇ?そうなの!?w って感じ
馬鹿丸出しじゃん
539デフォルトの名無しさん:2008/12/30(火) 17:58:20
>>532
本当に「楽なはず」なのかなあ?
ツールキットとの狭間で無駄な苦労を背負い込むことのほうが多い希ガス。

Delphiと組み合わせたApolloは便利だったけど、過去形で語らなきゃだし
ただの外部ライブラリだったら使い回しもよかったんだろうけど...
540デフォルトの名無しさん:2008/12/30(火) 19:39:40
Apolloは機会があれば復活させたいなあ。
なかなか余裕がなくてできないけど。

Delphi2009になればUNICODEも対応できるし・・・。
541デフォルトの名無しさん:2008/12/30(火) 19:43:57
>>539
外部ライブラリにはできない要因とかあるのかな
542デフォルトの名無しさん:2008/12/31(水) 07:18:12
>経験あるだろ? なんだこれ?っていうGUI付きのソフト。

あります
543デフォルトの名無しさん:2008/12/31(水) 10:02:36
>>541
DelphiからRubyを呼び出す機構のため?
544デフォルトの名無しさん:2008/12/31(水) 15:14:22
>>534
WindowsのGUI自体が糞だと思ってたけど
最近GNOMEのGUIも糞だと思えてきた
悪いところまで真似せんでええのにね
545 【大凶】 :2009/01/01(木) 00:17:48
あけおめ
546 【大吉】 【1774円】 :2009/01/01(木) 00:38:32
あけおめー
547 【吉】 :2009/01/01(木) 00:54:34
akeome
548デフォルトの名無しさん:2009/01/01(木) 19:21:46
結局、今から始めるなら何がいいの?

想定GUI使用者は、事務のお姉さんレベル。
549デフォルトの名無しさん:2009/01/01(木) 20:07:12
wxRuby
550デフォルトの名無しさん:2009/01/01(木) 22:27:31
Qtでいいじゃん。新しめの日本語の本もあるし。Ruby用じゃないけど。
551デフォルトの名無しさん:2009/01/01(木) 22:52:17
>>548
使用する人は、安定して日本語がちゃんと表示されて
ちゃんとうごきゃなんでもいいんでないの?

それよりもメンテする人がハマらないほうがいいんじゃ…<今から始めるくらいなら
552デフォルトの名無しさん:2009/01/04(日) 20:11:57
ApolloをVistaで使えてる人いる?zip版インストールだからいけないのかなあ。
form = Form.new(form1)
とかやるとRubyインタプリタが強制終了する。

553デフォルトの名無しさん:2009/01/04(日) 20:15:19
msi同梱のバージョンだったら落ちなかった。Rubyのバージョンが違ったのが原因らしい。
同梱:1.8.4
落ちる:1.8.7
すまん、投稿する前に確認するべきだった。
554デフォルトの名無しさん:2009/01/05(月) 15:30:26
>>541
たぶん著作権(ライセンス)関連の問題
555デフォルトの名無しさん:2009/01/07(水) 20:54:45
>>554
256倍本曰く、CではDLLエントリにグローバル変数を使えるが、Delphiではだめ。
なのでいちいち関数でラップしてやる必要がある(=Rubyインタプリタ本体に手を入れる必要がある)。
556デフォルトの名無しさん:2009/01/12(月) 18:26:18
画像を表示して複数箇所、範囲選択するようなアプリを書きたいんだけど
どのフレームワークを使うのがてっとりばやくて、確実かな?
ちょっと見た感じvrはbmpしか表示できないみたいだし、Apolloは1.9では動かない?みたいだから
上でオヌヌメされてたwxを使ってみようかと思うんだけど、画像の上にワイヤーみたいな
部品を描画するのがそもそもわからないので、解る方おしえてください。

ドラッグ開始をイベントで感知してうんぬんすればいいのかな?
557デフォルトの名無しさん:2009/01/12(月) 21:20:13
vrってvisualurubyのこと?
Apolloやwxが出るって事はローカルで動くGUIツールだと仮定すると…
マジレスするとFlashが一番早い。

別に内部でbmp使うなら別にRmagickでも使って変換すればいいわけだ
からどーにでもなると思うがね。

元々txtイジりに特化してるRubyで画像をリアルタイムでGUI付き処理を
しようとする理由が分からん。
(書き方からするとその辺の知識もないようなので余計にFlashがいいと思う)
558556(宇宙探偵じゃないが):2009/01/12(月) 21:59:07
Flash持ってないからw
買うほどの強い要求があるわけじゃないので、単なるチャレンジです。
rubyとGUIを組み合わせてやるのが過った方向性というのは認めます。

bmpに変換すればVisualuRubyでやれるのは解りますが、
たとえばjpegとかtiffを600x400の枠にfitしてスケーリング表示するところ
くらいはフレームワークで処理してくれてもいいんじゃないかな、と。

スクリプト言語がtxtいぢりに特化してるといっても、結局はテキストなんて
可読しやすいバイト集合ですよね。
そういう意味ではAjaxで写真のトリミングツール作ってる方がいるらしいです。
559デフォルトの名無しさん:2009/01/12(月) 22:25:58
>>556
●GUI構築
・ウインドウ(A)生成
・Aに画像を表示できる部品(B)を載せる # ウインドウに直接描画出来る場合もある
・Bに画像を表示する
●イベントハンドラ登録
・マウスボタン押されたよイベントハンドラ→ボタンを押した位置(x1,y1)を取得して記憶
・マウスポタン離されたよイベントハンドラ→ボタンを離した位置(x2,y2)を取得して
 x1,y1,x2,y2の矩形をほげほげ
処理メソッドは使用するライブラリに依存するからマニュアルで調べれ

>>558 のは例えば
require 'RMagick'
img = Magick::ImageList.new('test.jpg').resize(600,400)
で600x400の画像が出来るから、600x400の窓にこれを表示すればいい
560デフォルトの名無しさん:2009/01/12(月) 22:51:22
そのぐらいなら純正のflashなくてもparaflaやsuzukaでできそうだけどもねぇ。
(jpegをswfと同じフォルダ内にいれる必要はあるけど)

他人に配るとか使わせるならwebアプリにしちゃってAjaxでもいいんじゃないかね。
561デフォルトの名無しさん:2009/01/12(月) 23:00:03
なんでそんなにFlash使わせたいんだ
562デフォルトの名無しさん:2009/01/12(月) 23:58:23
FlashじゃなくてActionScript(Flexでもいいけど)って言えばよかったのに。

563デフォルトの名無しさん:2009/01/13(火) 00:38:01
もう5年以上も前に書いたHTAアプリがActiveScriptRubyの
あるバージョンから動作しなくなってるのに今更ながら気づきました

ActiveRuby.1.8.5.6以降から動作してないみたいなのですが
この動作が仕様かどうか分かる方いますか
また、回避手段があれば教えてください
以下切り出した最小の再現スクリプトです(実際のアプリにはrubyのコードもあります)

error.hta (Stack overflowのエラーになる)
-------------
<html><head><hta:application>
<script language="RubyScript"></script>
<script language="JavaScript">
window.close();
</script>
</head><body></body></html>
-------------

window オブジェクトが正常に参照できてないようです
なお、RubyScriptとJavaScriptのタグの順番を入れ替えると
何故かエラーにはなりません

目的は昔のアプリを最小の手間で動作させたいところに
あるので、全面作り変えは最後の手段として考えています
564563:2009/01/13(火) 00:49:09
念のため補足

要はRubyScript のタグがあるだけで JavaScript 側からの window オブジェクトの
参照に影響があるってはなしで JavaScript の window.close() についての
質問ではありません
RubyScript がなければ問題なく動作するものです
565デフォルトの名無しさん:2009/01/13(火) 07:31:16
まあ画像処理なら、FlashやFlexが早いわな
基本的なGUIアプリならRubyで十分出来るけど
画像関連で複雑なことをやろうとすると、途端に面倒になる
566デフォルトの名無しさん:2009/01/13(火) 07:32:02
あ、↑の書き込みは>>561へのレスです
567デフォルトの名無しさん:2009/01/13(火) 08:16:54
基本的にバイト列加工なんてスクリプト言語に向いてないからねえ。
誰も入ってない未踏の地に逝くなら、自分で切り開けるスキルが無いと難しい。
面倒なので、画像処理ライブラリ作ったという紙報告を期待したい。

rubyでgimp作る並に面倒そうだがwww
568デフォルトの名無しさん:2009/01/13(火) 08:47:48
rmagick,gd,imlib,cairo,etc...画像処理ライブラリなんぞ既にいくらでもある
まともな画像処理がしたいならflashよりもよっぽどrubyの方が向いてる
つかなんでflashってあんなクソみたいに重いのよ
あれならjavaappletの方がよっぽど軽いだろ
569デフォルトの名無しさん:2009/01/13(火) 21:06:59
>>559
その流れはなんとなくレベルでわかるんですが、
問題は画像を表示した部品の上に、範囲選択の矩形を描画する方法なんです。
単に位置を取得するだけなら、その方法でいけそうなんですが
複数箇所をマークして、かつそれぞれの矩形を再移動・リサイズしたいかな、と。

なんか話が明後日の方向にいってますが、別に画像処理ライブラリを書く訳でなく
たんに画像の位置と情報を得るためのフロントエンドを書きたいだけ。
570デフォルトの名無しさん:2009/01/13(火) 23:58:22
自分で、windowsの定数をまとめたライブラリと、構造体を簡単にいじれるライブラリを作ってからは、
普通のwindowsプログラミングができるvrubyが一番楽だ
山のようにあるwindowsプログラミングのサイトを参考に出来るし。
今年こそはライブラリを手直しして人様に公開できるようにしよう、と思って数年たちます
571デフォルトの名無しさん:2009/01/14(水) 04:56:10
だからvrubyで、画像の位置と情報を得るための神フロントエンドを書けばいいじゃないの。
画像ライブラリは、rmagick,gd,imlib,cairoと既にいっぱいあるそうだから大丈夫だろ。

フラッシュよりはエイジャックスで書きたい気分。必要に迫られてないので書かないけどwww
Picasaとか参考に成るんじゃね?
572デフォルトの名無しさん:2009/01/14(水) 05:04:32
>>571
なぜそうvrubyに拘る
573デフォルトの名無しさん:2009/01/14(水) 06:29:48
vruby の FormDesigner なんか参考になるんじゃないの?
http://sourceforge.jp/projects/fdvr/
574デフォルトの名無しさん:2009/01/14(水) 13:35:41
なぜそうvrubyに拘る
575569:2009/01/14(水) 21:45:45
>>573
目から売り子(♀)。そっか、FormDesignerはpure rubyだっけ。
調べてみます。dクス

>>570
vbicよりすごいのん?
576デフォルトの名無しさん:2009/01/14(水) 22:15:59
なぜそうvrubyに拘る
577575:2009/01/15(木) 21:10:22
ちょろっと見たところ、FormDesigner自体はpure rubyなのですが
肝心な部分はWin32api経由でGDI呼んでるようでした。
やりたかったことは、ひょっとして結構めんどい処理なの?
矩形再編集は諦めて位置を得るだけにしとけってことかな...

>>578
ナーゼ・ソゥ・コダワール(1912-1974 仏) AA略
578デフォルトの名無しさん:2009/01/16(金) 03:37:45
もうVBで書けよ。ウゼーし。


BASICの宿題はお前にまかせた
http://pc11.2ch.net/test/read.cgi/tech/1136788500/l50
579デフォルトの名無しさん:2009/01/16(金) 03:56:22
その辺の面倒くささは言語関係ないだろw

とはいっても、
主にグラフィックの描画につまっているなら .NET(C#, VB.net) でも使ったほうがいい。
そじゃなくて、アルゴリズムにつまっているなら言語関係ないw
580デフォルトの名無しさん:2009/01/16(金) 06:07:16
>>577
GDIくらい使えよ
581デフォルトの名無しさん:2009/01/16(金) 16:20:30
すいません。
行き詰ったことがあったので質問させて下さい。(改行が多い

win32oleをつかってADO経由でsqlserverのテーブルに
対して読み書きを行おうと思っています。

connectionオブジェクトのゲットは出来ました。
recordsetオブジェクトのゲットも出来ました。
recordsetの各feilds("項目名").valueに値をセットして
updateメソッドで反映出来るのも確認できました。

「よし、出来た」
そう思ったのもつかの間。
「テストテーブルだけど初期値(null)に戻しておくか」
そう思った時に壁につぶかりました。
rsTest.feilds("項目名").value = nil
こうすると例外が出てしまいます。
当然値のセットも出来てません。
初期値(null)が入っている時は

p rsTest.feilds("項目名").value
結果:nil
になったのですが…。

DBのnull≠nilで初期値がp関数でnil表示されるのは
型が返還された結果だというのはおぼろげながら
想像はつくのですが、ではADOのFeildオブジェクトに
nullをセットするにはどうしたらいいのでしょうか?

レコードセットでの操作を諦めてSQL文で操作した
方がいいのでしょうか?
582581:2009/01/16(金) 20:32:34
初心者スレがあったのに、気付かなかったのでこちらに
書いてしまいましたが、あちらの方で改めてカキコ
致しました。
以降、あちらでご教授して頂く(方法があればですが)
つもりです。
お目汚し申し訳ないです。
583デフォルトの名無しさん:2009/02/02(月) 12:05:56
ほしゅ
584デフォルトの名無しさん:2009/02/05(木) 19:32:22
なんなのrubyって。
ruby使うのにCコンパイラ入れなきゃいけないの??????????
rubyだけでプログラミングできないのかよ!!!!!!
585デフォルトの名無しさん:2009/02/05(木) 20:00:22
ソースからインストールしようとしてるんなら>>1
それともbinary gemでも?
586デフォルトの名無しさん:2009/02/08(日) 01:34:26
おおかた sqlite3-ruby ver1.2.4 ではまってるとか、そんなんだろ。
587デフォルトの名無しさん:2009/02/12(木) 23:08:42
みんなWindowsでもRuby-GNOME2って使ってる?
Shoesはお遊びで使う分にはいいかもしれんが…
588デフォルトの名無しさん:2009/02/13(金) 09:19:04
HotKeyを使ってコーディング中にブラウザを更新するものを作りたく調べたら
vrubyにそれっぽいのあったんだけどwikiやググってみてもリファレンスがないorz

どうやって使うのか分かる方いますか?

教えて君申し訳ないorz
589デフォルトの名無しさん:2009/02/13(金) 12:02:35
>HotKeyを使ってコーディング中にブラウザを更新する
意味が分からない
590デフォルトの名無しさん:2009/02/13(金) 13:00:59
意味わかるぜ

phpとかcssとかhtmlをエディタなんかで編集中に
フォーカス移動せずに横に立ち上げたブラウザを更新するんだろ。
動作確認が楽なんだよね。

俺は普段からやってるよ
xyzzyでも内臓ブラウザの更新と保存のショートカットの連動ができる
EclipseでもEclipse版greasemonkey+保存時にFirefoxを更新するスクリプトがある。

これがないとやっとれんよ正直。

>>588 のやりたいことは、多分AutoHotKeyなら楽にできると思うぞ
Windowsじゃなかったらスマソ
591デフォルトの名無しさん:2009/02/13(金) 13:12:25
vrubyって言ってるんだからWindowsだろたぶん。
どっちにせよRubyでやって嬉しいことではないから>>590のアドバイスに
従ったほうがいいと思うぞ。

#Rubyで書けるAutoHotKeyとかないかな…
592590:2009/02/13(金) 17:00:07
AutoHotKeyで作ってみたら、思いのほかうまくいった。

Eclipse + Firefox 3で動作確認した。
Ctrl+Sで保存してFirefoxリロード。
IEとかでも応用できると思う。(うまくいかなかったので、Sleipnirでやるという話もあった)

; Eclipse IDE
#IfWinActive, Eclipse ahk_class SWT_Window0
; Ctrl+S to
^s::
Send, ^s

# originaled by mala
# http://la.ma.la/blog/diary_200608281736.htm
WinGet, FF,, Mozilla Firefox
ControlSend,, {F5}, ahk_id %FF%
return
#IfWinActive

参考:
最速インターフェース研究会 :: AutoHotkeyを使ってFirefoxをリロードするだけのexeファイルを作ってみた
http://la.ma.la/blog/diary_200608281736.htm

Eclipse Monkey自動リロード + Firefox が遅すぎてイライラしていたのでちょうどよかったわ
593590:2009/02/13(金) 17:01:44
コピペミス訂正

; Eclipse IDE
#IfWinActive, Eclipse ahk_class SWT_Window0
; Ctrl+S to
^s::
Send, ^s

; originaled by mala
; http://la.ma.la/blog/diary_200608281736.htm
WinGet, FF,, Mozilla Firefox
ControlSend,, {F5}, ahk_id %FF%
return
#IfWinActive
594デフォルトの名無しさん:2009/02/15(日) 00:46:13
>>563
もう見てないかな?
バグだったみたいだね。それ。
修正されたのがあがってるよ。
http://arton.no-ip.info/data/asr/
595563:2009/02/15(日) 22:07:02
>>594
どうもありがとう
今見にいったら、blogの方にも書いてありましたね
一時期は毎日チェックしてたのですが
最近はたまにしか見てなかったので助かりました

これから動作確認してみます
596563:2009/02/16(月) 00:30:39
ううむ、一部の問題は解決されるけど、全般的にはまだ問題がありそう
もしまだ見てたら、余裕のあるときでいいので調査お願いできないでしょうか>作者の方

以下のコードでActiveScriptRubyがない状態だと、JS/VBSの相互呼び出しが問題なくできます
ActiveScriptRubyを入れたら、3者間で相互呼び出しして欲しいんだけど、逆にJS/VBSまで動作しなくなるようです

<html><head><hta:application>
<script language="RubyScript">
def alertRuby(text); alert(text); end
def alertRuby2JS(text); alertJS(text); end
def alertRuby2VBS(text); alertVBS(text); end
</script><script language="JavaScript">
function alertJS(text) {alert(text)}
function alertJS2VBS(text) {alertVBS(text)}
function alertJS2Ruby(text){alertRuby(text)}
</script><script language="VBScript">
Sub alertVBS(text): alert(text): End Sub
Sub alertVBS2JS(text): alertJS(text): End Sub
Sub alertVBS2Ruby(text): alertRuby(text): End Sub
</script></head><body>
<a onClick="alertJS('JS')">JS</a><br>
<a onClick="alertVBS('VBS')">VBS</a><br>
<a onClick="alertJS2VBS('JS2VBS')">JS2VBS</a><br>
<a onClick="alertVBS2JS('VBS2JS')">VBS2JS</a><br><br>
<a onClick="alertRuby('Ruby')">Ruby</a><br>
<a onClick="alertJS2Ruby('JS2Ruby')">JS2Ruby</a><br>
<a onClick="alertRuby2JS('Ruby2JS')">Ruby2JS</a><br>
<a onClick="alertVBS2Ruby('VBS2Ruby')">VBS2Ruby</a><br>
<a onClick="alertRuby2VBS('Ruby2VBS')">Ruby2VBS</a><br>
</body></html>
597デフォルトの名無しさん:2009/02/17(火) 00:23:22
>563 今度はどうかな
598デフォルトの名無しさん:2009/02/17(火) 01:46:42
>>597
完璧です
テストプログラムも元々のアプリも問題なく動作することを確認しました
どうもありがとうございました
599デフォルトの名無しさん:2009/02/23(月) 23:01:20
ちょっとエロイひと教えてください。
開発環境のIDEとしてRDE(1.1.1)のsetup.exeをダウンロードしたんですが、ウイルスバスター2009でウイルスとして隔離されるのですが、同じ現象の人いますか?
600デフォルトの名無しさん:2009/02/23(月) 23:41:57
>>599
同じく。トレンドマイクロに連絡して対応してもらったほうがいいんじゃないかな。

別の話だけど、最近one click ruby installerでインストールされるスクリプトも
ウイルス扱いされるようになった(これ以外のパッケージでもインストールされる
ファイルだと思う)。これも連絡して対応をお願いしているが、まだ修正はできて
ない模様。
601デフォルトの名無しさん:2009/02/24(火) 02:17:03
スクリプトを one click でインストール出来るような危険なソフトということで
602デフォルトの名無しさん:2009/02/24(火) 13:34:51
以前、rubyscript2exeかexerbあたりで作られたRuby製のウィルスがあったらしい
多分その影響じゃないかな
603599:2009/02/24(火) 21:39:59
>>600-602
とりあえず、RDEとOne Click Installerの件は、トレンドマイクロに連絡してみた。
しばらく待つか・・・・
対応してくれるか分からんけど
604デフォルトの名無しさん:2009/02/25(水) 08:46:35
Appcelerator Titanium? makes building desktop rich applications easy
http://titaniumapp.com/

Ruby版AIRみたいなの。
WindowsとMac対応。
でもまだ微妙。Windows版もmac版よか尾錠
605デフォルトの名無しさん:2009/02/25(水) 13:27:37
ironRuby正式版まだー?
606デフォルトの名無しさん:2009/02/25(水) 20:42:26
正式版じゃなくても今でも使えはするけど
何が足りない感じ?
607600:2009/02/28(土) 12:22:19
>>603
One Click Installerには反応しなくなったYO!

トレマイから報告がきたらお礼を返信するとするか。
608デフォルトの名無しさん:2009/03/01(日) 07:08:29
それは乙だ
609599:2009/03/02(月) 12:56:18
>>607
トレンドマイクロから返信が来た。対応してくれた様だ。

>トレンドマイクロ・ウイルスバスタークラブセンターです。
>弊社製品をご愛用いただき、誠にありがとうございます。
>
>このたびの件ではご不便をおかけいたしまして、誠に申し訳ございません。
>
>お送りいただいたファイルを解析した結果は誤警告と確認いたしました。
>
>現在、ウイルスパターンファイル[5.867.50]にて修正が施されております。
>
>大変失礼いたしました。
>
>今後、お一人でも多くのお客さまが、快適にお使いいただけるよう
>品質向上を徹底し、ご満足いただけるような製品開発を目指していく
>所存でございます。
>
>なにとぞご容赦のほど、お願い申し上げます。
>
>お手数をかけいたしますが、ウイルスバスターをアップデートし、
>全ドライブ検索を実行いただき、ウイルス処理が発見されるかどうか
>お試しいただきますようお願いいたします。

610デフォルトの名無しさん:2009/03/19(木) 02:24:45
.NETでRuby開発を体験してみよう − @IT
http://www.atmarkit.co.jp/fdotnet/special/ironruby/ironruby_01.html
611デフォルトの名無しさん:2009/03/24(火) 10:06:19
612デフォルトの名無しさん:2009/03/30(月) 23:12:00
123
613デフォルトの名無しさん:2009/04/13(月) 14:28:59
こやつめw
614デフォルトの名無しさん:2009/04/14(火) 12:43:21
ういやつよのうw
615デフォルトの名無しさん:2009/06/08(月) 21:57:47
干す
616デフォルトの名無しさん:2009/06/09(火) 07:02:41
Rubyスクリプトをexe化するためのソフト、Ocra
http://mono.kmc.gr.jp/~yhara/d/?date=20090606#p03
617デフォルトの名無しさん:2009/06/10(水) 11:08:46
>>616
これは良記事。
DXRubyのスターターキットとかいいですな
618デフォルトの名無しさん:2009/06/12(金) 23:30:26
>>616
こういうソフトっていくつもあるけど何が違うの?
619デフォルトの名無しさん:2009/06/13(土) 01:28:45
>>618
その記事そのものが比較記事になってると思うのだが。
見た?
620デフォルトの名無しさん:2009/06/17(水) 22:14:51
Ironrubyマダァ?(・∀・ )っ/凵⌒☆チンチン
621デフォルトの名無しさん:2009/06/19(金) 00:48:45
まだというかもうリリースはしてるけど何を待ってるの?
ドキュメントがほぼ無いのは確かにつらいけど
622デフォルトの名無しさん:2009/06/19(金) 02:09:41
>>620>>621
前にもこんなやりとりがあったよーな・・・
623デフォルトの名無しさん:2009/06/22(月) 23:14:25
1.8.7(p174)
624デフォルトの名無しさん:2009/06/26(金) 01:48:53
Ruby/Gtkを自分でVCでビルドってできる?
かなりイバラな道っぽいんだけど…
625デフォルトの名無しさん:2009/06/26(金) 08:38:22
>>624
mingwでビルドした方が幸せになれると思います
626デフォルトの名無しさん:2009/06/26(金) 22:26:42
そういやqtrubyの最新をmingwでビルドしようとしたけど挫折したな
Windowsでのビルドガイドでもあると嬉しいんだけど
627デフォルトの名無しさん:2009/06/27(土) 08:21:12
Ruby-GNOME2のWin用バイナリの新バージョン公開の動きは一応あるみたいだけどな。
どっかの英語のフォーラムでちょこっとだけ話が出てたキガス
628デフォルトの名無しさん:2009/06/27(土) 22:00:09
IronRubyがまともに動けばGUI問題は解決しそうだがなあ…。
IronPythonほどではないみたいだし
629デフォルトの名無しさん:2009/07/03(金) 18:26:45
>>628
ちなみに、Jrubyとかは×なのですか?
630デフォルトの名無しさん:2009/07/10(金) 09:40:27
×
631デフォルトの名無しさん:2009/07/15(水) 21:42:53
MinGWでのビルド、俺は上手くいかなかった…
仕方無いから、ruby-gnome2-0.16.0-1-i386-mswin32.exeでインストールしたのを使ってる…


0.16で、ドラッグアンドドロップされたファイルのパスを調べるにはどうしたら良いですか?
0.19だと、drag-data-receivedシグナルで獲得出来たのですが、
Windowsのruby/gnome2 0.16では獲得できないようなのですが…
632デフォルトの名無しさん:2009/07/16(木) 00:36:37
Ruby1.9.1のWindows版って、IO周りの処理が遅いらしいのだが、
1.9.2では改善されないのかな?
633デフォルトの名無しさん:2009/07/16(木) 01:37:16
RubyのWindows版でGUIアプリ用フレーム枠みなさん何使ってます
634デフォルトの名無しさん:2009/07/17(金) 08:48:04
>>632
年末までにはなんか考えたい
635デフォルトの名無しさん:2009/07/19(日) 06:55:15
>>632
1.8.7もwindows版はどうもすごく遅い。なんとかならないかな。
636デフォルトの名無しさん:2009/07/19(日) 08:34:24
(基本ファイルの)requireで読まれるときにバカみたいに負荷かかってるよね
637デフォルトの名無しさん:2009/07/19(日) 08:39:20
ウィルススキャナが走ってるとか狂ったようにgemsがあるとか
638デフォルトの名無しさん:2009/07/19(日) 10:52:59
Railsのrake -Tとか、script/soncoleの立ち上がりに、30秒くらいかかるぜ orz
Linux(Ubuntu)だと1/10くらいもかからんのに…
639638:2009/07/19(日) 10:53:50
>>637
ああ、gems削除すればいいのか・・・試してみます。
あとアンチウィルスの対象外に指定すればいいのかね?
640638:2009/07/19(日) 11:00:58
うちの速めのマシンで時間はかってみたよ。
■rake
$ time rake -T
:

real 0m25.858s
user 0m0.031s
sys 0m0.015s

(2回目)
real 0m7.094s
user 0m0.015s
sys 0m0.061s

■script/runner (rakeやった後)
$ time script/runner "puts 'hello'"
hello

real 0m15.673s
user 0m0.030s
sys 0m0.031s

(2回目)
$ time script/runner "puts 'hello'"
hello

real 0m12.170s
user 0m0.000s
sys 0m0.031s

おせええええ
CPU Quad Core Q6600, Memory 2GB, Ruby1.8.7, Rails 2.3.2.1, Windows Vista SP2(32bit)
641638:2009/07/26(日) 09:16:52
rake cleanup
$ time rake -T

real 0m13.801s
user 0m0.015s
sys 0m0.000s

$ time rake -T

real 0m5.850s
user 0m0.000s
sys 0m0.000s

$ time script/run
hello

real 0m16.309s
user 0m0.015s
sys 0m0.015s

$ time script/run
hello

real 0m12.124s
user 0m0.000s
sys 0m0.030s

rake cleanupかけたら、rakeだけ少し早くなったわ
642デフォルトの名無しさん:2009/07/26(日) 15:16:18
multi
643デフォルトの名無しさん:2009/07/26(日) 15:59:14
requireするファイルをとにかく少なくするのが重要
可能ならでっかい1枚ファイルにすればきっと速い
644デフォルトの名無しさん:2009/07/27(月) 12:17:46
gemはインストールしてあるだけで時間を食う
645638:2009/07/28(火) 10:34:40
>>642
ごめん。Railsスレに書いちゃった
646デフォルトの名無しさん:2009/08/24(月) 06:27:28
jarp.does.notwork.orgの名前解決ができないんだけど
647デフォルトの名無しさん:2009/08/25(火) 00:49:15
誰も反応してくれないのね
648デフォルトの名無しさん:2009/08/25(火) 07:53:40
質問です。
8時間悩んだバグが単なる変数の再初期化のし忘れでした。
このやりきれない気持ちをどうすればよいですか。
649デフォルトの名無しさん:2009/08/25(火) 09:14:36
過疎スレに突然ひとりごとじみたこと書かれても...
650デフォルトの名無しさん:2009/08/25(火) 10:06:50
C&Pにレス書かれても...
651デフォルトの名無しさん:2009/08/25(火) 11:45:27
よくあることだ
652デフォルトの名無しさん:2009/08/26(水) 09:45:32
>sharedなsshセッションが残っているため日記は更新できるが、誰も見ることができないjarpなのであった
653デフォルトの名無しさん:2009/08/28(金) 19:48:46
One Click Installerと迷ったが結局こっちにした
違いがよく分からんが
654デフォルトの名無しさん:2009/08/28(金) 21:19:29
>>653
これはどう?

Rumix - Ruby Starter Package with Installer
http://ruby.morphball.net/rumix/
655デフォルトの名無しさん:2009/08/29(土) 01:31:56
リファレンスが日本語ってのはいいな
656デフォルトの名無しさん:2009/08/29(土) 07:28:17
One Click Installerってアップデートできんじゃんかw
657デフォルトの名無しさん:2009/08/31(月) 11:18:10
そうなの?一旦アンインストールするしか
658デフォルトの名無しさん:2009/08/31(月) 22:03:37
原因がさっぱり見えないしどこに投げるべきかも迷ったからここに書き散らかし

ASR1.8.7(p174)とOne Click Ruby Installer 186-26でvruby使いながら
URLを標準のブラウザ(Fx3.5.2)で開こうとすると1分ぐらい固まった
ruby -rvr/vruby -e'VRLocalScreen.newform.create; system "start http://example.com"'
ruby -rvr/vruby -e'VRLocalScreen.newform.create; system "RunDLL32.EXE url.dll,FileProtocolHandler http://example.com"'

標準のブラウザをChrome2.0.172.43にしたらURLはすぐ開くようになったものの
フォルダのオープンも(当然ブラウザと関係なく)同じように固まる
ruby -rvr/vruby -e'VRLocalScreen.newform.create; system "start c:\\"'
ruby -rvr/vruby -e'VRLocalScreen.newform.create; system "RunDLL32.EXE url.dll,FileProtocolHandler"'

XP環境二つで確認したから環境依存ではないはず
vrubyを使わなければ問題ないし、使っていてもsystem関数やstart, rundll32.exeの呼び出し自体は遅くない


Fxでもfirefox.exeを直接叩けば大丈夫だったから、とりあえずの回避方法
cmd = Win32::Registry::HKEY_CLASSES_ROOT.open('http\shell\open\command') {|reg| reg[nil] }
cmd.sub!('%1', url)
system cmd
659デフォルトの名無しさん:2009/09/03(木) 16:56:01
なぜここに書いた
660デフォルトの名無しさん:2009/09/04(金) 00:36:59
既視感がある。DDEのせいじゃないか?
messageloop呼ばないとウインドウがハングしたも同然だから、
メッセージのブロードキャストを使うDDEが止まるぞ。
FirefoxがDDE使うかどうかは知らんけどな。
661デフォルトの名無しさん:2009/09/04(金) 08:12:26
Windows用Rubyは MinGW版が速いと聞いてRuby on Railsで試してみた - yuum3のお仕事日記
http://d.hatena.ne.jp/yuum3/20090805/1249452345

http://antoniocangiano.com/wp-content/uploads/2009/08/mri_kri_total_runtime.png

mingw版のほうが速いんだってさ
662デフォルトの名無しさん:2009/09/04(金) 15:55:23
unicode化が楽しみだ
663デフォルトの名無しさん:2009/09/04(金) 22:47:32
>>659
どこに投げればいいか迷ったから
お蔵入りさせるよりは誰かに見てもらった方がよいし、どこに投げればいいよって言ってもらえれば十分だった
パッチじゃないからライセンス云々の問題にはならないはず
心証的には・・・どうなんだろうね

>>660
ありがとう、やっぱ見てもらうもんだ
再現コードを作るときのミスで、>>658は指摘の通りこれで解決した
ruby -rvr/vruby -e'Thread.new{sleep 5; system "start c:\\"}; VRLocalScreen.start(VRForm)'
ruby -rvr/vruby -e'Thread.new{sleep 5; system "RunDLL32.EXE url.dll,FileProtocolHandler http://example.com"}; VRLocalScreen.start(VRForm)'

ただきっかけはタスクトレイのメニューからsystemでrundll32.exeを呼んだときだから、messageloopもしてるんだ
とりあえず探った部分が外していたとわかったから一から探り直してみるよ
664デフォルトの名無しさん:2009/09/06(日) 21:15:00
Rails遅いのかーバージョン下げるかなー
665デフォルトの名無しさん:2009/09/06(日) 22:06:08
913 nobodyさん [sage] Date:2009/09/06(日) 14:23:30  ID:??? Be:
    >>905-907
    本当だ。なんだこれ?

    mswin32版のRuby 1.8.7-p160が遅すぎる件 - 那由多屋 開発日誌
    http://d.hatena.ne.jp/nayutaya/20090601/1243848756

    L'eclat des jours(2009-04-22)
    http://www.artonx.org/diary/20090422.html

    (コメ欄)
666デフォルトの名無しさん:2009/09/06(日) 23:28:30
何年も前から言われてることに反応して欲しいのかな
667デフォルトの名無しさん:2009/09/06(日) 23:53:35
何年も前じゃないだろ
668デフォルトの名無しさん:2009/09/07(月) 00:40:48
669デフォルトの名無しさん:2009/09/07(月) 00:52:45
ごめん。勘違いしてたわ
670デフォルトの名無しさん:2009/09/07(月) 06:40:46
>>666-667
>>665がその前もコピペしないからわからないが、どうやら、p160にうpだてすると、
Railsのviewの処理が100倍遅くなるらしい。今年に入ってからの話。
671デフォルトの名無しさん:2009/09/07(月) 12:03:57
それってmingw32版でも同じ?
672デフォルトの名無しさん:2009/09/07(月) 15:57:14
遅くなっている原因から考えると、当然同じだろう。
673デフォルトの名無しさん:2009/09/20(日) 17:46:08
最新版で直ってないか?

$ svn log -r{2009-09-18}:HEAD win32/win32.c
------------------------------------------------------------------------
r24994 | usa | 2009-09-18 14:32:13 +0900 (Fri, 18 Sep 2009) | 4 lines

* win32/win32.c (rb_w32_select): on 1.8, we don't need to poll sockets,
because our select is never called from multiple threads.

------------------------------------------------------------------------
r24996 | usa | 2009-09-18 14:44:49 +0900 (Fri, 18 Sep 2009) | 3 lines

* win32/win32.c (rb_w32_select): wait specified time on select.

------------------------------------------------------------------------
674デフォルトの名無しさん:2009/09/20(日) 21:09:07
>>673
ttp://www.garbagecollect.jp/~usa/d/200909b.html#id20090918_P1_2
>再現ケースを持っていないので確認できないんだけど、これでちょっとはマシになったりしないだろうか。

これのことだね
俺も確認できないけど、どうだったんだろ?
675デフォルトの名無しさん:2009/10/15(木) 02:04:15
http://pc12.2ch.net/test/read.cgi/tech/1253176267/768
から誘導されてきました。

Windows XPでExcelを操作する際、
Excelが1つだけ起動しているときはwin32oleを使って
WIN32OLE.connect('ExcelApplication')
でうまくいくんですが
複数起動しているとどれかひとつしか操作できません。
どうすれば複数のExcelを操作できるでしょうか?
676デフォルトの名無しさん:2009/10/15(木) 04:26:36
出来ないような気がするんだけど
該当するスレはこっちだと思う
http://pc12.2ch.net/test/read.cgi/tech/1137771139/
ここも過疎ってるから
こっちの方がいいかな
http://pc12.2ch.net/test/read.cgi/tech/1243095768/
http://pc12.2ch.net/test/read.cgi/tech/1254281104/
677デフォルトの名無しさん:2009/10/15(木) 04:54:05
ファイルを開いている状態なら、

WIN32OLE.connect('D:\Book1.xls')

みたいに選択できるよ
678675:2009/10/15(木) 23:14:01
>>677
タスクなどで各Excelが開いてるファイルを調べてそれを足がかりに
各Excelにconnectするわけですか。
試してみます。
679デフォルトの名無しさん:2009/11/17(火) 21:37:43
64bit版Windows7では、Windows-On-Windows 64(WOW64)という機能
で、64ビット版のWindows OS上で32ビット版向けのソフトウエアを動作
できるようにしているらしいんだけど、Rubyの32bit版や拡張ライブラリ
も動作するんですかね?
680デフォルトの名無しさん:2009/11/17(火) 22:58:14
試してないけど動くんじゃない?
64bitのバイナリから32bitのバイナリ呼んだりしなけりゃ問題ないはず。

細かい話だとこの辺とか。
ttp://d.hatena.ne.jp/NyaRuRu/20091019/p1
681デフォルトの名無しさん:2009/11/18(水) 09:25:17
>>679
普通に動く。

>>680
バイナリつーかDLLね。
EXEを普通にプロセス起動する分には問題ない。
682679:2009/11/18(水) 23:24:38
それはよかった。新しくPC買うときは64bitにしよう
683デフォルトの名無しさん:2009/11/19(木) 09:09:39
Rubyと関係ないけど、x64版Windowsのまとめ。
* ドライバは32bit版は使えない。64bit版が必要。
 さらに、Vista以降は64bit版に限って署名のないドライバは禁止
* 16bitアプリケーションは動作しない
* 32bitアプリケーションからの64bitアプリケーションの起動、および、
 64bitアプリケーションからの32bitアプリケーションの起動は可能
* 32bitアプリケーションからの64bit DLL呼び出し、および、64bit
 アプリケーションからの32bit DLL呼び出しはできない
* 普通の32bitアプリケーションからは、システムフォルダの一部や
 レジストリの一部が見えなくなっている
684デフォルトの名無しさん:2009/11/26(木) 14:38:35
685デフォルトの名無しさん:2009/12/20(日) 16:09:54
WindowsでCairoライブラリ利用しようとしてるんですけど、
エラーが起きてしまって難儀してます。

1.8.7 (2009-06-12 patchlevel 174) [i386-mswin32]

1.9.1p376 (2009-12-07 revision 26041) [i386-mswin32]
の両方で利用したいと思っています。

1.8.7だと
オフィシャルからダウンロードしてきた
cairo-1.8.1-x86-mswin32.gem
をgem installしようとすると
No definition for rb_cairo_satisfied_version


と言われてしまい
1.9.1ではgemは成功するのですが、
実行すると
[省略]/lib/ruby/gems/1.9.1/gems/cairo-1.8.1-x86-mswin32/src/c
airo.so: [BUG] Segmentation fault
ruby 1.9.1p376 (2009-12-07 revision 26041) [i386-mswin32]

とスクリプト実行時に落ちてしまいます。
686685:2009/12/20(日) 16:13:19
Rubyは1.8.7、1.9.1共々artonさんのビルドを利用しています。

http://jp.rubyist.net/magazine/?0019-cairo

のhinomaru.rbをまず実行できるところまで持って行ければなのですが。
情報ありませんか?
687デフォルトの名無しさん:2010/01/17(日) 10:35:49
>>685
No definitionなんちゃらはドキュメントがないよって言ってるだけだから問題ないよ
無視してhinomaru.rbが動かせるはず
ただし一般的に1.8でgemライブラリ使うにはRUBYOPTかrequireが必要なので、そこはぐぐってどうにかして

あとそのgemは多分1.8用のバイナリだから1.9では動かない
後々1.9が必要になったときは1.9バイナリの配布を待つか自分でコンパイルするかの二択
ってここまで書いて気づいたけど一ヶ月近くレスついてなかったのかよ、もう解決してるかな
688デフォルトの名無しさん:2010/02/08(月) 23:28:27
1.8.7(p249)
689デフォルトの名無しさん:2010/02/19(金) 20:32:06
rubyってruby.exeのパス求める方法ないのか?
perlならperl -e "print $^X"だな
まじ、which使えとか#!の行取り出せとかしかないわけ?
690デフォルトの名無しさん:2010/02/19(金) 20:41:41
require 'rbconfig'
File.join(RbConfig::CONFIG["bindir"], RbConfig::CONFIG["ruby_install_name"] + RbConfig::CONFIG["EXEEXT"])


うちでは "C:/Program Files/ruby-1.8/bin/ruby.exe" が返る
691デフォルトの名無しさん:2010/02/19(金) 22:00:27
うちでは
perl -e 'print $^X'

perl
が返ってくるんだがそれでいいの?
/usr/bin/perl とかが返ってきて欲しいんだよね?
692デフォルトの名無しさん:2010/02/19(金) 22:03:54
$^X <snip>
Depending on the host operating system, the value of $^X may be a
relative or absolute pathname of the perl program file

と書いてからスレがWindows用だったことに気付いた。ごめんなさい。
693デフォルトの名無しさん:2010/02/19(金) 23:08:02
>>692
それでいいなら ENV["_"] でいい
$ ruby -e "p ENV['_']"
"/usr/local/bin/ruby"

シェル依存だからWindowsでは無論動作しない
694デフォルトの名無しさん:2010/02/19(金) 23:31:34
dlかWin32APIでGetModuleFileNameでも呼び出せば
695デフォルトの名無しさん:2010/02/19(金) 23:41:48
いやだからRbConfigに全部書いてあるって
696デフォルトの名無しさん:2010/02/20(土) 00:08:21
ruby.exeを別のファイルにコピーしたらアウトじゃね?
697デフォルトの名無しさん:2010/02/20(土) 00:09:55
そうだよ
インストール時の情報を読んでるに過ぎない

で、そこまで追随する必要はある?
ありそうな気もするが、そもそもそういう環境ではRubyライブラリ動かないと思うぞ
698デフォルトの名無しさん:2010/02/20(土) 04:23:23
>>697
んなこたーない
699689:2010/02/20(土) 06:14:59
RbConfigってのは
> perl -e "require Config; print $Config::Config{'perlpath'}"
と一緒なわけだよな
$^Xとかpythonのsys.executableみたいなのは
ない、でいいわけね
まあ他環境でも同じようにパス取れてると思ってると危険なんで
設定ファイル見た方がいいのかもな
700デフォルトの名無しさん:2010/02/23(火) 12:06:01
>>697
Ruby入ってない環境に、ruby.exeとmsvcrt-rubyXX.dllだけコピーしたら一応Rubyとしては動くぞ
組み込みライブラリしか使えないけどな
701デフォルトの名無しさん:2010/02/23(火) 12:07:06
exerb
702デフォルトの名無しさん:2010/02/23(火) 12:07:36
…つか、よくよく考えたらインストーラー付きじゃないRubyもあるんだよな
単にzipにまとめただけのやつが移動して動かなかったらおかしいや
703デフォルトの名無しさん:2010/02/26(金) 01:24:35
実行中なら自身のプロセス情報読み取ればパス取得できるんじゃなかろか
704デフォルトの名無しさん:2010/02/26(金) 01:28:27
そうじゃない OS があるけど
ここは Windows スレだから
yes
705デフォルトの名無しさん:2010/02/26(金) 08:55:39
今って、mingw32とVC6でビルドされたmswin32との差異って何になるんだろう?

・使用コンパイラがmingw32はgcc、mswin32はVC6
・前項に関連してRubyソースにgcc特有の最適化が入っているため性能が違う(mingwの方が速い)
・RUBY_PLATFORMの値が違う
ぐらい?

昔だと
・Ruby本体のDLL(今でいうmsvcrt-rubyXX.dll)が別名で拡張ライブラリのバイナリ共用不可(現在は可能)
・archdirが別
とかあったみたいだけど1.7の頃に統一されたみたいだし。

ruby-win32メーリングリストあたりに情報がありそうな気がするものの、
アーカイブが公開されてないみたいでどうしたもんかな。
706デフォルトの名無しさん:2010/02/26(金) 09:30:23
>>705
ビルドされたrubyそのものの違いはあまり聞かないな

最大の違いは、開発環境を揃えるのが容易かどうか
というかVC6ってまだ手に入るの?
707デフォルトの名無しさん:2010/02/26(金) 09:49:00
>>706
>というかVC6ってまだ手に入るの?
正式な形では無理と思われる。

msvcrt.dllへのリンクって観点だとWDKやDDKあたりからCRT.libを持ってくると
今時のVCでもmsvcrt.dll使わせることが可能ではあるみたい。

あと、Windows Server 2003 SP1 DDK は無料でダウンロードできて、
コンパイラもついてくる、と。
ttp://d.hatena.ne.jp/j_m/20080301/1204394341

性能と、拡張ライブラリ作るときの敷居の低さから
mswin32からmingw32への移行を考えてるんだけど、
特に差異もない感じなんだろうか。

Ruby自体のDLLやらシンボルやらも同じならASRとかも
インストールすれば動くんだろうしなあ。
708デフォルトの名無しさん:2010/03/11(木) 13:58:22
709デフォルトの名無しさん:2010/03/30(火) 01:22:45
>>707

この辺のファイルは今のうちにダウンロードしておくことをお勧め。

Windows Server 2003 SP1 DDK (VC6が入っている)
http://download.microsoft.com/download/9/0/f/90f019ac-8243-48d3-91cf-81fc4093ecfd/1830_usa_ddk.iso

Windows Server 2003 Platform SDK Feb 2003 (VC6用PSDK)
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm

Visual Studio 6.0 SP6 (DDKで不足しているライブラリの一部を入手可能)
http://www.microsoft.com/downloads/details.aspx?FamilyId=A8494EDB-2E89-4676-A16A-5C5477CB9713&displaylang=ja

DirectX 9.0 SDK Oct 2004 (Extrasを入れるとVC6で使用可能)
http://www.microsoft.com/downloads/details.aspx?FamilyID=b7bc31fa-2df1-44fd-95a4-c2555446aed4&DisplayLang=en

DirectX 9.0 SDK Oct 2004 Extras (DirectX SDKをVC6で使う場合に必要)
http://www.microsoft.com/downloads/details.aspx?FamilyID=d6f237de-a6ee-4ded-8bb6-139536162eb8&DisplayLang=en
710デフォルトの名無しさん:2010/03/30(火) 01:49:05
>>709

ちょっと間違い。DDKのコンパイラはVS2003相当なので,VC6を入手するにはeMbeded Visual C++が必要。

eMbeded Visual C++ 4.0 (ダウンロードページのプロダクトIDが必要)
http://msdn.microsoft.com/ja-jp/vstudio/cc789301.aspx

eMbeded Visual C++ 4.0 SP4
http://www.microsoft.com/downloads/details.aspx?familyid=4A4ED1F4-91D3-4DBE-986E-A812984318E5&displaylang=ja
711デフォルトの名無しさん:2010/04/13(火) 20:04:27
IronRuby、結構イケルぞ!
712デフォルトの名無しさん:2010/04/13(火) 22:27:20
IronRuby、MRI 1.8.7対応してほしいのう。
713デフォルトの名無しさん:2010/04/27(火) 23:25:11
age
714デフォルトの名無しさん:2010/05/19(水) 07:50:47
>>709
excpt.hが見つからなくてwindows.hをincludeできない。
なにか見落としてますか?
715デフォルトの名無しさん:2010/05/19(水) 20:48:40
VC++が無い
716デフォルトの名無しさん:2010/05/20(木) 23:38:27
>>714
DDKに入っている。
環境変数INCLUDEに(PSDK)\Includeと(DDK)\inc\crtが必要。
LIBには(PSDK)\Libと(DDK)\lib\crt\i386が必要。
717デフォルトの名無しさん:2010/05/21(金) 08:27:33
>>716
なるほど!
DDKの代わりに eMbeded Visual C++ 4.0 SP4 を入れて、
そちらの方を全く見てませんでした。
早速入れてみます。
>>715
多分同じ指摘をしてくれてたんだろうけど、意図を汲み取れずにいたんだ。
すまない。
718デフォルトの名無しさん:2010/05/21(金) 08:32:43
蓮舫「そのブレーキバーは走ってるときにも使いますか?」
運転士「いえ、止まるときにしか使いません」
蓮舫「運行全体におけるブレーキの使用時間は短いと思いますけどどうですか?」
運転士「時間的には短いですが、大変重要な役割が・・・」
蓮舫「長いか短いかだけおっしゃってください」
運転士「・・・短いです」

枝野「今回、ブレーキバーについては根本からの折損という結果にしたいと思います」
719デフォルトの名無しさん:2010/05/22(土) 14:14:10
Windowsで実用的なRails環境作るの難しすぎ
nmakeとかデフォルトで入ってないんだけど。
twitterのgemとかどうやって入れたらいいんだよ?
720デフォルトの名無しさん:2010/05/22(土) 14:49:21
Windowsを使わない。
721デフォルトの名無しさん:2010/05/22(土) 15:26:34
>>720
同感

>>719
UNIX(Linux, BSD, OSX,..etc)を使え。
開発が目的なら、仮想マシン(VirtualPCやVirtualBox)上にLinuxを入れるのが一番楽だ。

クライアントプラットフォームの大半がWindowsであるという現実があるから、
Windows上のRubyでGUIを使いたいという意図は分かる。
でもRailsみたいなWebサービス用途なら、迷わずUNIXを使え。
722デフォルトの名無しさん:2010/05/22(土) 15:54:22
ちなみにそういう用途でのおすすめのディストリは?
723デフォルトの名無しさん:2010/05/22(土) 15:56:58
どうせ/usr/localに入れるからRubyに関してはなんでもいい。
724デフォルトの名無しさん:2010/05/22(土) 16:32:38
>>719
cygwinかmingw使え
725719:2010/05/22(土) 17:26:02
ああ、レスくれた人すまん
俺はLinux(最近はMacに移行)で、それはそれはもう快適に開発してんだが、
職場のデザイナたちは、みんな素のHTML書いて渡してくるだけのWindows使いで、
Rails入れなきゃスムーズに共同作業できねーだろって
俺がRails環境をWindowsに入れてやろうとしたら思いの外大変だったという愚痴だ。>719は。
726719:2010/05/22(土) 17:36:28
で、仮想マシンとか、cygwinかmingw使ったらいいの?
なんか…職場のデザイナのPCにRailsを入れようって話に
持っていくだけでも大変だったからもういいや。
twitterのgemとかなくても起動するようにアプリを変更したし。
727デフォルトの名無しさん:2010/05/22(土) 19:14:50
動作確認用社内鯖(Linux)を用意。アプリはpassengerで動かす
Winscpでビューテンプレートやスタイルシートを上書きしてもらい
一通り置いたらtmp/restart.txtも置いてもらうという感じでやってます。
(概略)
728721:2010/05/22(土) 23:37:07
>>726
相手がデザイナってことはPCに詳しくないだろうから、cygwinやmingwは無茶だと思われ。
無償で使えるVirtualBoxかVirtualPCがお勧め。(有償でもOKならVMWareがBest)

・VirtualBox -- オープンソースで開発されている比較的新しいソフト。Win/Mac/Linuxプラットフォームを選ばず。
・VirtualPC -- Microsoft提供で安定度は良いが、Windowsでしか使えない。(以前はMac版もあった)

で、>>721が自分のPCに上記のどちらかをインストールして(VirtualBoxならPCでなくてMacでもOK)、
仮想マシンを作る(数GBの空きディスクが必要)。その仮想マシン上でLinux、Rails、それにWebアプリを
インストールして動作を確認しておく。OKなら、その仮想マシンのイメージファイルをDVD-Rに焼いておく。

後は、相手のPCに同じ仮想マシンソフトをインストールし、DVD-Rに焼いたイメージファイルをPCにコピーして、
仮想マシンへ読み込ませる。これだけで、>>721が構築したLinux/Rails/Webアプリの環境が、
デザイナのPC上で完全に再現できる。デザイナが複数いても、PC台数分繰り返すだけで済む。
729デフォルトの名無しさん:2010/05/23(日) 03:41:07
RubyをWindowsで使う香具師って馬鹿としか思えん (Matz伝)
730デフォルトの名無しさん:2010/05/23(日) 10:19:04
rubyinstaller使えば簡単なパターンだな
731719:2010/05/23(日) 16:49:22
>>727
素のHTMLを渡されるよりはましかもしれんが、
ローカルですぐに確認できない、バージョン管理が難しい、
デザイナが複数いた場合、同じファイルを上書きする可能性等、問題は多そうだ

>>728
デザイナにはDreamWeaverなどの使いなれたWindows上のツールで編集してもらって
Putty + Pageant + TortoiseSVN でコミットしてもらうようにしたんだが、
バーチャルPCの環境だとそのあたりの作業がうまく行くのかがちょっと心配なんだわ。
完全再現できる反面、Windows環境から隔離されてしまってデザイナが戸惑うんじゃないかと。
でも裏でsambaとかが作動して意識せずにバーチャルPCと行き来できるのかな??
まあいろんな方法があるってことがわかっただけでもよかった。ありがとう。
完全再現する必要がでてきたり、もし人が増えて手に終えなくなったりしたらVirtualBoxでやってみるわ
732デフォルトの名無しさん:2010/05/23(日) 19:50:19
デザイナのこと考えるとやっかいなだな。

個人的なRails環境はcoLinuxとUbuntuにRails環境作って作ってるが(Portable Ubuntuが楽)、

coLinuxのcofsでNTFSのドライブをUbuntu側からマウントしてWindowsのIDEでファイル編集してる
Windows側からTortoiseSVNでコミットとかマージとかしてた。
ただし、coLinuxはUbuntuは9.04までの対応だったと思うので注意。9.10以降にアップグレードすると死ぬ

VirtualBoxとかの仮想マシン環境でもホストマシンのWindowsとの
ファイル共有的な仕組みでWindows側から使い慣れたエディタでシームレスに編集みたいなやり方はあると思うよ。

coLinuxもイメージコピーして動かすことができるし、
というかPortableUbuntuならディレクトリごと丸ごとコピペでうごくw
coLinuxは初回インスコ時に、PortableUbuntuだと動作ごとに管理者権限は必要なのがちょっと癌かな

まあ制限が許せば選択肢の一つとしてはありかと。
733デフォルトの名無しさん:2010/05/23(日) 19:53:47
ついでにこんなのあったのでさらしておくわ

BitNami :: RubyStack
http://bitnami.org/stack/rubystack


Ruby 1.8.7とRails 2.3.5の環境一式の各環境向け(Win,Linux,Mac)のインストーラーとか、
VMWareの仮想環境用イメージもあった(openSUSE 11.1, Ubuntu 10.04)

試してないので人柱キボンw
734デフォルトの名無しさん:2010/05/23(日) 20:18:59
どんどん面倒な方向へ
735721:2010/05/24(月) 01:33:49
WinXP上のVirtualBoxでLinux(Ubuntu)を試しに触ってみた。
永くDebianを触っているが、Ubuntuは今回が初体験。参考にしたのは以下のサイト。

・VirtualBoxの使い方 - 仮想化ソフトVirtualBoxのインストール、使い方、設定方法
 http://virtual-soft1.nnn2.com/

上記サイトのとおりにVirtualBoxをインストールして、Linux(Ubuntu8.04)の仮想マシンを起動。
違いはVirtualBoxの最新バージョンが3.2.0に更新されていたのでそれを試した点くらい。

仮想マシンだけど、クライアントとしての環境はほぼ完璧にそろっている。
日本語環境、ブラウザ(Firefox)、ファイルマネージャ、ターミナルがあるし、OpenOfficeも入ってる。
ネットワークもファイルマネージャでURLを入力することで、MacOSX(10.5)のFTP/SMBサーバヘ接続できた。
おそらく少しだけ努力してもらえれば、普通のWindowsユーザにも使ってもらえるだけの環境は整っていると思われ。

開発環境としては、Perl/Pythonは入っているが、肝心のRubyが無いから、自分でRubyと関連する
パッケージ(Gem, Rake, Rails,...etc)をインストールする必要がある。また、SSH/Web/FTP/SMB/AFPといった
サーバ関連も一切入っていないみたいだから、それらも自分でインストールする必要がある。
ただし、言い換えると自分の好みのサービス構成を組める訳で、決して問題や欠点という訳ではないだろう。

他に気になったのは、仮想マシンのサイズがZIP圧縮で730MB、解凍すると2.51GBと巨大な事。
仮想サーバとしてはOpennOfficeはもちろんGNOMEデスクトップ環境すら不要だから、
Ubuntuのサーバ版(ubuntu-8.04.4-server-i386.iso)を試す予定。こちらなら最小構成でX11サーバすら
インストールせずにすむから(ディスクだけでなくメモリやCPUパワーも)軽くなるはず。
現在、Virtual DAEMON(仮想CDドライブ)からブートして、インストーラが起動できるところまで確認できた。
736デフォルトの名無しさん:2010/05/24(月) 03:03:47
それならcoLinuxのがいいんじゃね?サクサクだよ
737721:2010/05/24(月) 23:14:08
(昨日の続き)
Ubuntuのサーバ版(ubuntu-8.04.4-server-i386.iso)を試した結果、必要なディスク容量はかなり減った。
公式配布のDesktop版が2.51GB(圧縮:730MB)だったのに対して、Server版だと919MB(圧縮:327MB)。
ベースシステム以外の追加パッケージはOpenSSHサーバのみ。RubyやらApacheなどは含んでいない。

遭遇したトラブルは、インストール終了後の再起動中に「未サポートCPU」みたいな意味のエラーでコケル事。
これは以下のサイトなどを参考にして、サーバ向けカーネル(server)を汎用カーネル(generic)に
入れ換えることで回避できた。

COMPNET - VirtualBox 1.6でubuntu 8.04 server
http://compnet.jp/archives/17

>>736
coLinuxとかcygwinみたいなのは、UNIXの知識がある人が本人のPCにインストールして使う環境。
(デザイナ屋さんのような)PCに不慣れな人でも手軽に試してもらうとしたら、仮想マシンのほうが適切だと考える。
うっかり環境を壊したとしても、マスターからコピーし直すだけですむのだから。(慣れればスナップショットも活用)
一昔前では考えられないが、PCパワーの進化とオプソの展開が仮想マシンという富豪的環境を身近な物にした。
738デフォルトの名無しさん:2010/05/24(月) 23:42:20
>>737
あれ?ごめんサーバー版うんぬんってあったからどうせCUIにするなら、と思って言ったんよ
GUIで使うならその通りだね

ちなみにデザイナはプログラマに比べて全然富豪的だから、イラレ、フォトショ、DWなど立ち上げながら仮想マシン使うと今時のマシンでも結構きついお
739デフォルトの名無しさん:2010/05/29(土) 19:33:51
仮想マシンでもRails動かすなら最低512MBはメモリ割り当ているからな…。
スワップも割り振っとかんと、RubyGemsこけるw
今ならメモリ潤沢だから64bit OSはいいが32bitの環境使い続けていると
けっこうカツカツなんだよな
740デフォルトの名無しさん:2010/07/07(水) 00:10:42
1.8.7(p299)
741デフォルトの名無しさん:2010/08/31(火) 14:36:57
1.8.7(p302)
742デフォルトの名無しさん:2010/10/09(土) 00:18:01
質問です。
win32ole経由でexcelを操作してます
rubyから実行すると、Excelが最前面に立ち上がりますが、
これを背面での立ち上げに切り替える方法はないでしょうか?
#新たなWindowsが最前面に表示されると、ほかの作業が邪魔されて鬱陶しいので。

obj.Visible = 0
とすると、画面表示なしでバックグラウンド実行できるのは知っていますが、
それだと進行状況が把握できないので背面に表示させたいです。
743デフォルトの名無しさん:2010/10/09(土) 13:10:59
どうしても、netbeans のjrubyに

warblerのgemをインストールできない。

jruby 1.53を単独でインストールしてwarblerもインストールできたけど
netbeansではrakeが一切できない。。。
どうしようもない。
744デフォルトの名無しさん:2010/10/11(月) 21:41:23
>>742
むりぽ
745デフォルトの名無しさん:2010/11/19(金) 16:24:15
Rubyのwin32oleからExcelのAutoFilterコマンドの発行の仕方を教えていただけないでしょうか?
3つ以上の引数の書き方が分かりません。

2つ以上(0,1でフィルタリング)なら、Excelのマクロで記録してみた内容が以下のようになり、
    ActiveSheet.Range(”$A$1:$E$100”).AutoFilter Field:=5, Criteria1:=”=0”, _
     Operator:=xlOr, Criteria2:=”=1”
下のRubyスクリプトで実行できるのですが、
    range = sheet.range(sheet.cell(1,1),sheet.cell(5,100));
    range.AutoFilter(5, 0, 2, 1) #← Ruby OK

3つ以上の(3,4,5でフィルタリングする)場合、Excelのマクロが以下のようになります。
    ActiveSheet.Range(”$A$1:$E$100”).AutoFilter Field:=5, Criteria1:=Array( _
     ”3”, ”4”, ”5”), Operator:=xlFilterValues
Array( _ ”3”, ”4”, ”5”)表記の仕方が分からず、下のようにしてもエラーとなります。
    data_range.AutoFilter(5, 3,4,5, 7) #← Ruby NG
                   ~~~~~
Win32OLEで実行する場合の、エクセルマクロ中の Array( _ ”3”, ”4”, ”5”) と同じことをさせるRubyの書き方を教えてください。
よろしくお願いします。
746デフォルトの名無しさん:2010/11/19(金) 23:16:12
>>745
range.AutoFilter(5, ['3', '4', '5'], 7)
でいいんじゃないの?

最初の例も
sheet.range('A1:E100').AutoFilter(5, '=0', 2, '=1')
の方が素直な気がする
747745:2010/11/19(金) 23:52:39
>>746
それでうまく行きました。とても助かりました。ありがとうございます
748デフォルトの名無しさん:2010/12/23(木) 14:37:30
質問よかとですか
vruby + FormDesigner で、ウインドウ?フォーム?のサイズをマウスで変更すると
中のボタンその他もフォームのサイズに追従するようなスクリプトを作りたいのですが
そういうレイアウトをするための、FormDesigner の操作方法が分からず困ってます

FormDesigner は、20040323版と20060501版を試してみました
前者は、レイアウトマネージャの部品がツールバー上に無いですが
後者は、レイアウトマネージャの部品がツールバー上にあるので
後者を使えばそういうこともできるのかなと思ったんですが…
相変わらず位置やサイズを決め打ちした状態でしか部品の配置・レイアウトができません

vrubyのサンプルを見ると、layouttest.rb や gridtest.rb など、
フォームのサイズを変更すると中の部品のサイズも追従するソレがあっさりできているようなのですが…
もしかして、FormDesigner を使わずに、エディタでシコシコとレイアウトを書いていくしかないんでしょうか?
部品が結構たくさん並ぶUIになる予定なので、できれば FormDesigner でレイアウトしたいのですが…
749デフォルトの名無しさん:2010/12/27(月) 23:22:04
1.8.7(p330)
750デフォルトの名無しさん:2011/01/13(木) 06:48:35
質問です。
Windows7 64bitにActiveScriptRubyをインストールしました。
ruby-openglをfreeglutを用いて使用したいのですが
freeglutをインストールしたのち
gem install ruby-openglとすると
C:/ruby-1.8/lib/ruby/gems/1.8/gems/ruby-opengl-0.60.1/ext/glut内でのコンパイルにおいて
LINK : fatal error LNK1181: 入力ファイル 'glut32.lib' を開けません。
rake aborted!
Command failed with status (157): [link -nologo -incremental:no -debug -opt:r...]
と、glut32.libがないため失敗してしまいます。
freeglut.libを使用するように変更するにはどうしたらよいのでしょうか?
よろしくお願いします。
751750:2011/01/13(木) 09:40:52
ruby-openglのOHPから
ruby-opengl-0.60.1-x86-mswin32.gemをダウンロードしてきて
インストールすることで、glut32.dllをパスの通った
ruby-1.8/binなどに置いておけば動くことはわかりました。

引き続きWindows上でruby-openglをfreeglutを使ってビルドする方法を質問します。
752デフォルトの名無しさん:2011/01/14(金) 08:22:02
freeglut.libをglut32.libにリネームする
753750:2011/01/15(土) 13:45:13
>>752
なるほど、ありがとうございました。
754デフォルトの名無しさん:2011/01/18(火) 04:13:33
このスレ生きてたのか
755デフォルトの名無しさん:2011/01/31(月) 16:34:46
win32oleでクリップボードにSetTextしたデータを
ペーストアクション(C-V)させたいのですが、win32oleから呼び出せますか?
動作を実現する関数なりあれば、教えてください
756デフォルトの名無しさん:2011/01/31(月) 16:36:51
sendkey
757デフォルトの名無しさん:2011/01/31(月) 18:10:13
>>756
サンクス!
758デフォルトの名無しさん:2011/03/02(水) 10:00:54.12
コマンドプロンプトを出さずに外部プログラムを実行する方法はないでしょうか?
VBだとpsInfo.CreateNoWindow = trueとすれば、表示を抑制できるみたいなので、
Rubyで同じような方法はないかと。
759デフォルトの名無しさん:2011/03/02(水) 11:58:46.15
>>758
全部にあるかは知らないけど、rubyw.exe ってない?
cygwin版だけだったかなぁ…
760758:2011/03/03(木) 06:21:41.99
>>759
ありがとうございます。rubyw.exeを知らなかったので試してみました。
たしかにrubyw.exeによって走らせるrubyスクリプト自体のコマンドプロンプトは出なくなりました。

ですが、相変わらずrubyw.exeから呼び出されている
`コマンド内容` や system("コマンド内容")
からはコマンドプロンプトが開いてしまいます。
なんとかこれを開かずに済む良い方法はないでしょうか。
761デフォルトの名無しさん:2011/03/03(木) 15:02:43.14
ViualuRubyのVRListviewで
フォーカスが外れた状態でも、選択している項目の色を反転させたままにしておく方法はないでしょうか?
VRListviewで実行する項目を選択するようにしているのですが、
フォーカスをGUI内の別のアイテムに移すと、VRListviewでどの項目を選択したか分からなくなります。

C++のMFCでいうところのAlways Show Selectionをtrueにするのと同じ処理をさせたいのですが。
762デフォルトの名無しさん:2011/03/03(木) 20:55:54.27
>>760
require 'win32ole'
shell = WIN32OLE.new('WScript.Shell')
shell.Run("cmd /c dir /b /s 2>&1 > dir.txt", 0, true)

これでウィンドウが開かなくなるとは思う
出力をファイルハンドルで受けられないのが不便だが
763760:2011/03/04(金) 06:15:50.66
>>762
出来ました! ありがとうございます。
764761:2011/03/07(月) 17:39:04.42
どなたか、よろしくお願いします。 >>761
VRListViewの一覧からファイル選択して、それからオプション項目を設定してもらいたいんですけど、
オプション項目を設定するときに、どのファイルが選択されているか分からなくなるので困ってます。
765デフォルトの名無しさん:2011/03/10(木) 15:06:21.98
スタイルにLVS_SHOWSELALWAYSを加える
766761:2011/03/10(木) 19:32:21.32
>>765
ありがとうございます
767デフォルトの名無しさん:2011/03/10(木) 19:44:00.60
VisualuRubyで、読み込んだ画像の上から(上位のレイヤーみたいな感じで)
線で加工する範囲を指定したいのですが、良いサンプルはないでしょうか?
とりあえず、VRCanvasPanelで(VRBitmapPanelのように)
画像ファイルを読み込ませられないかなと調べているのですが、やりかたが分かりません。。
768デフォルトの名無しさん:2011/03/11(金) 09:07:22.88
むり
769デフォルトの名無しさん:2011/03/11(金) 23:49:14.12
IronRubyで何が不満なん?
770767:2011/03/12(土) 13:36:22.18
うーむ。そうですか。IronRubyを調べてみます。
771デフォルトの名無しさん:2011/03/12(土) 14:07:37.15
何でそこまでRubyにこだわるかねー
C#なら何でもできるのにw

ライブラリの仕様が標準化されていない
バグだらけの糞Rubyなんてやる気せんわw
772デフォルトの名無しさん:2011/03/13(日) 02:48:45.20
>>771
環境の問題でしょ。
C#使ってるとバカになるよ。
773デフォルトの名無しさん:2011/03/13(日) 03:32:28.66
お前みたいなバカだとな
774デフォルトの名無しさん:2011/03/13(日) 04:21:14.39
もうmicrosoftには未来が無いし
C#なんぞに手を出すならObjectiveCの方が良くね
775デフォルトの名無しさん:2011/03/13(日) 04:29:56.54
シェア1%のRuby信者は言うことが違うなぁww
776デフォルトの名無しさん:2011/03/13(日) 07:01:24.13
バカがそれ以上バカになるとはどういうことだろう
777デフォルトの名無しさん:2011/03/14(月) 22:29:48.50
スレチ
Rubyアンチスレでも逝け
778デフォルトの名無しさん:2011/03/23(水) 14:27:27.24
VisualuRubyで、ウィンドウサイズを固定する方法を教えてください。
よろしくお願いします。
779778:2011/03/24(木) 14:13:01.97
self.w = 816; self.h = 628
として固定したまま変更を許可しないようにしたいのですが。。
780デフォルトの名無しさん:2011/03/27(日) 19:35:21.81
暇だったんで調べてみた
どうも、VisualuRubyを使いこなすにはWinAPIの作法を勉強しないとだめみたいですな
WindowStyleってので「リサイズできる枠」とかのフラグがあるのでそれをオフにするといいようだ
require 'vr/vruby'
frm=VRLocalScreen.newform
frm.move 100,100,300,300
frm.caption="サイズ固定Window"
frm.style= frm.style ^ WStyle::WS_THICKFRAME ^ WStyle::WS_MAXIMIZEBOX ^ WStyle::WS_MINIMIZEBOX
frm.create.show
VRLocalScreen.messageloop
781778:2011/04/03(日) 21:19:01.21
>>780
できました。ありがとうございます!
お礼が遅くなって申し訳ないです。

>どうも、VisualuRubyを使いこなすにはWinAPIの作法を勉強しないとだめみたいですな
はい、精進します。
782デフォルトの名無しさん:2011/04/03(日) 22:32:20.48
WinAPI絡みの質問なのですが、
vrubyによるダイアログによるファイル指定で、以下のように単一の拡張子PDFのファイルを表示するだけでなく、
  file = openFilenameDialog [ ['pdf', '*.pdf'] ]
複数の拡張子による絞り込みはできるんでしょうか?たとえばPDFとZIPのみを表示したいのですが。
よろしくお願いします。
783デフォルトの名無しさん:2011/04/04(月) 00:04:19.38
vrubyは知らんけど、WinAPI的には
file = openFilenameDialog [ ['pdf', '*.pdf'], ['zip', '*.zip'] ]
もしくは
file = openFilenameDialog [ ['pdf/zip', '*.pdf;*.zip'] ]
を試してみたら?
784782:2011/04/04(月) 00:57:24.56
>783
とても助かりました。ありがとうございます。
785デフォルトの名無しさん:2011/04/07(木) 01:54:29.84
vrubyについて教えてください
  path = saveFilenameDialog([["*.pdf","*.pdf"]])
のように開くときに、
デフォルトで開かれるフォルダの初期位置を変えることはできるのでしょうか?
ついでにファイル名も与えたいのですが。。よろしくお願いします。
786デフォルトの名無しさん:2011/04/09(土) 02:59:56.94
Twitter、検索結果表示が“3倍速く”なったと発表――フロントエンドの切り替えで
Twitterは、フロントエンドをRuby on RailsからBlenderに切り替えた結果、検索結果の待ち時間が大幅に改善されたと発表した。

http://www.itmedia.co.jp/news/articles/1104/07/news043.html
-----------------
急成長する検索ニーズに対処するために検索エンジンを書き換え、リアルタイム検索エンジンを立ち上げた。
その際にバックエンドをMySQLからJavaベースのテキスト全文検索エンジンLuceneに移行した。
また先週、フロントエンドをRuby on RailsからBlenderと呼ばれるJavaサーバに切り替えた。
待ち時間の短縮は、こうした取り組みの成果だという。
787デフォルトの名無しさん:2011/04/09(土) 12:27:34.96
まるち
788デフォルトの名無しさん:2011/04/09(土) 14:13:52.93
はわわ
789デフォルトの名無しさん:2011/04/20(水) 17:30:01.97
Windows版Ruby1.9.0〜1.9.1のRuby/Tkは
起動したときに何も無いウィンドウが表示されてから
ウィジットが配置されていくのが見えるという変な動作だったけど
1.9.2になってスパッとウィンドウが表示されるようになった
Ruby1.9でネイティブスレッド化したのが原因だったのかな

Windowsではファイルを読み込むときにテキストモードだと
ユニバーサル改行変換のせいで遅かったのが
1.9.2でかなり速くなった
それでも1.8よりは遅くなるけど

ところでMacの世界では今でも改行がCRなんだろうか
そうならばCRとLFの変換とかするのかな
それともMac界も改行がLFになってるのかしら?
790デフォルトの名無しさん:2011/04/20(水) 17:40:27.93
>>789
OSXになった時点でUNIXになったので基本的にLFよ。
791デフォルトの名無しさん:2011/04/22(金) 16:38:11.26
gem install opencv -- --with-opencv-include=C:\OpenCV2.2\include;C:\Program Files\Microsoft SDKs\Windows\v7.1\Include
と設定したいのですが
mkmf.logでは、-IC:\apps\OpenCV2.2\include -IC:\Program となってしまっていて、パス設定が途中で欠けてしまいます。
間にスペースが入る場合のパスの書式を教えてください。
ダブルクオートで囲むなどいろいろ試行錯誤しているものの、うまく行かず困っています。
792デフォルトの名無しさん:2011/04/22(金) 21:35:55.77
>>791
たしかmswinにはショートネームってのがあるんじゃなかったっけ
dirコマンドを実行してみたら良いんじゃない
793デフォルトの名無しさん:2011/04/23(土) 10:43:03.43
>>789
標準のターミナルとシェルで cat > hoge.txt して開いたら UTF-8/LF だった
794デフォルトの名無しさん:2011/04/23(土) 15:47:05.43
>>791
"\"C:\OpenCV〜\""みたいにエスケープしてダブルクォートを二重にするんじゃなかったかな
上手くいかなかったらエスケープを適当に増減してみてくれ
795791:2011/04/23(土) 21:31:07.56
>>791
アドバイスありがとうございます。
>>794
とりあえず二重に囲むやりかたでうまく行ったように思います。ありがとうございました。
796791:2011/04/23(土) 21:35:51.73
>>795
>>791>>792氏でした。失礼しました。
797デフォルトの名無しさん:2011/04/24(日) 17:18:33.89
1.9.2はいろいろと1.9.1よりよくなっているんだが
なぜだか Dir.globは遅くなっている
1.8や1.9.1より2倍遅い

うーむ
798デフォルトの名無しさん:2011/06/11(土) 02:03:50.24
VisualuRubyのVREditとフォーカスについて教えてください。
実現したいのはEditBoxにフォーカスした時にEditBox内を空にするということです。

VREditを継承したMyEditクラスで、
VRFocusSensitiveをincludeしました。

self_gotfocusメソッド内で text="" としたのですが、ダイアログ上の表示は変わりません。
メソッド内でputs text で出力させてみるとtextの内容は変わっているようです。

他に何か必要なのでしょうか。
あるいは、根本的に何かおかしいのでしょうか。

部分的ですが、コードは下のようになっています。

class MyEdit < VREdit
include VRFocusSensitive

def self_gotfocus
text = ""
puts text
end
end

class MyDialog < VRModalDialog
def construct
addControl(MyEdit, "number", Kconv.tosjis("数字を入力"), 90, 120, 200, 25, WStyle::WS_TABSTOP)
end
end
799デフォルトの名無しさん:2011/06/11(土) 03:01:16.00
知らないけど、self.text = "" じゃないの?
800798:2011/06/12(日) 21:01:57.31
>>799
ありがとうございます。

self.text=""
で意図したとおりに動きました。

それにしてもselfかぁ、なんて恥ずかしい見落としを。
801デフォルトの名無しさん:2011/06/29(水) 00:01:41.13
VisualuRubyで、
$frm=VRLocalScreen.showForm VRMainForm
$frmsub=VRLocalScreen.newform($frm,style,VRSubForm)

とかで複数生成したとき、$frm終了させたら$frmsubも終了するのは作れたんですけど
メッセージウィンドウを表示させた時の後ろのウインドウみたいに
$frmsubが表示されてる時$frmをクリックしても忠告音?を出して$frmsubを閉じるまで
行けなくするやり方わかりますか?
802デフォルトの名無しさん:2011/06/29(水) 00:16:28.59
自己解決しました
$frm.enabled = false
でいけるのか・・・・・・
803デフォルトの名無しさん:2011/06/29(水) 00:25:32.61
>>802
VisualuRubyは知らんが、そのやり方は間違ってる気がする

http://vruby.sourceforge.net/samples.html
の「モーダルダイアログを開く」あたりがお望みの機能じゃないかと思う
804デフォルトの名無しさん:2011/08/01(月) 11:17:26.14
1.8.7は、win32.cのwinnt_statを直してくれんのかね
でかいファイルサイズ扱えないままなんだけど
805デフォルトの名無しさん:2011/11/23(水) 21:15:41.01
rubyinstaller 1.9.3-p0 でrubyをインストールして、

File.chmod(0777, '日本語.txt')

とすると、

in `chmod': No such file or directory - (文字化け)txt (Errno::ENOENT)

となってしまいます(日本語.txtは実際には存在します)。
これ、1.9.2になってからずっとこのままなのですが、自分の環境だけでしょうか…?
スクリプトファイル上でcoding指定もしているので、指定間違いではないと思うのですが…
806デフォルトの名無しさん:2011/11/24(木) 13:32:40.37
>>805
そのcodingに指定した文字コード名と、実際のコードの文字コードは一致してる?
807デフォルトの名無しさん:2011/11/24(木) 21:06:56.97
>>806
文字コードはShift_JISで、スクリプトには
# coding: Windows-31J
と書いてます。

メニューから「Start Command Prompt with Ruby」でRuby用のコマンドプロンプトを開いて、
ruby -e "File.chmod(0777, '日本語.txt')"
としても同じです。

OSはWindows7 Ultimate 64bitです。
自分の環境だけなんでしょうか…。
808デフォルトの名無しさん:2011/11/25(金) 19:29:53.31
>>807
WindowsXPのMingw版Ruby 1.9.3でも日本語が通りませんね

プログラミングは不得手ですが
Rubyのソースを追ってみると
パスをUTF-8に変換しているのにもかかわらず
それをSJISとみなしてUTF-16に変換しているように見えます

で、その文字化けしたUTF-16のパスをWindowsAPIに渡しているので失敗していると思われます

ユニコード版WindowsAPIに切り替えた際の、対応漏れのような感じです
7bitASCIIの範囲では問題が起こらないので気づかれなかったのでしょうか
809デフォルトの名無しさん:2011/11/25(金) 21:43:25.18
win32/win32.cの5704行目を修正してコンパイルしなおしたところ
正常にFile.chmodできるようになりました

どなたかRuby開発者のRedmaineに報告してください
私はAnonymous Cowardなので無理です
810デフォルトの名無しさん:2011/11/25(金) 22:03:10.98
フリーメールの捨てアドレスで報告すれば?
811デフォルトの名無しさん:2011/11/26(土) 01:11:50.23
ありがとうございます。そんなに簡単に追えるものなんですね。うらやましすぎる…というかプログラマのくせに自分がしょぼすぎる(´Д`)

自分の環境の問題でないことがわかっただけでも助かりました。気が向いたらアカウント取って報告します
(どなたかやってくださる奇特な方がいらっしゃいましたらやっていただいて構いません)
812デフォルトの名無しさん:2011/11/26(土) 09:33:14.34
報告しなきゃ…と思ってアカウント取っていたらどなたかが報告してくださってた
感謝です!(゚∀゚)
813デフォルトの名無しさん:2012/01/03(火) 09:31:48.12
プログラミングRubyのRubyベタボメっぷりにRubyを使い始めて早10数年、使えば使う程にRubyって駄目だなと痛感する
Rubyを学習し始めた頃は誰でもRubyは素晴しいと思うのだが、数年も使えばそのどうしようもない互換性のなさにウンザリする
しかも互換性が無くなることをマズいと思っていない集団がRubyを制作しているのでどうしようもない
1.4時代のコードが1.6になった途端に互換性がなくなり動かなくなることはあったが、1.6→1.8ではそれが顕著になり、1.9など何のエラーも出さずに前のコードが動く方が珍しいほど
それどころか1.9に行かずREEが海外ではデファクトになりつつある現状、そして始まるPlain RubyとREEの方言問題
例えばPassengerもREEの方がうまく動いたり、かと思えば特定のバージョンだとPlainじゃないとまともに動かなかったりと、とても面倒臭い

美しいコードを求める為の副作用、という名の互換性のなさはRuby界全体に蔓延していて
例えばあれだけもてはやされたRailsも、Rails2とRails3の互換性のなさに誰しも苦労したのは記憶に新しいところ
誰もが互換性のなさに辟易し、俺ライブラリを量産するため、gemで探すと似たような事をする終わったプロジェクトがわんさか引っかかる
諸処の小さなプロジェクトだけがそんな現状ならば許せるが、dbiアダプタでさえそんな現状なので
バージョンが変わるとデータベースにすら接続できなくなったとか、dbiのAPIバージョン変わったのにアダプタ側の更新ないな、
とか思ってるとアダプタ作者がRubyから足洗ってたとか余裕

身内同士でRubyはコードが美しいと四六時中自画自賛しているが、実はそれこそがRubyのガン
その美しいコードという名のオナニーの為に一体どれだけの互換性と人的リソースが失われていったことか
Rubyのコードは美しい、Railsスゲー、ベタボメする人は沢山いたがいつも一過性の人気しか得られないのはそこにあるし
ベタボメしていた人達もしばらくするとウンザリしてRuby界から消えてしまうのも原因は実はそこにある
達人プログラマーはRubyをベタボメしなくなったし、Mongrel作者はRailsどころかRubyに見切りをつけちゃったしね
ああいう熱狂的なRuby信者でもRubyから足を洗っているのを見ると、tDiaryがRubyに見切りつけてPythonで全部書き直したとか言われても驚かないだろう自分がいる
814デフォルトの名無しさん:2012/01/29(日) 14:26:32.76
Win7(64bit)で ActiveScriptRuby 1.9.3-p0 をインストールしましたが、
ActiveScript として動作しません。
ruby hoge.rb で実行できているものが、cscript hoge.rb だと

C:\>cscript hoge.rb
Microsoft (R) Windows Script Host Version 5.8
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.

CScript エラー: スクリプト "C:\hoge.rb" のスクリプト エンジン "GlobalRubyScript" が見つかりません。

となり、GlobalRubyScript の登録がうまくいっていないような気がしますが、
Ruby-1.9.3.msi のインストール以外に何か作業は必要でしょうか?

XP(32bit)では同じことをやって正しく動いています。
815デフォルトの名無しさん:2012/01/29(日) 15:30:48.91
>>814
同じ環境(win7 64bit)で、今1.9.2アンインストール=>19.3インストールしてみた
自分のとこだと、ActiveScript としては問題なく動作してるけど、
拡張子の関連付けだけができてないように見える
# cscript.exe, ruby.exe ともに .rb が関連付けされてない

作業が足りないというよりインストーラの問題に見えるけど、>>814と挙動が違うのが気になる
他の環境でも試してみるか
816デフォルトの名無しさん:2012/01/31(火) 12:29:44.08
>>814
64ビット版cscript.exeが動いているんじゃね?
64ビット版からは32ビットActiveXコンポーネントは呼び出せないよ。
32ビット版(C:\Windows\syswow64\cscript.exe)で実行してみたら?
817814:2012/02/01(水) 23:45:40.64
>>816
あぁっ、そういうことでしたか。
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で取得する方法が分からない状態です。
819デフォルトの名無しさん:2012/03/03(土) 18:06:24.07
>>818
同じように sheet.range("ほげ") とかで取得できるっぽいよ
名前が間違ってるとか文字コードがシフトJISじゃなかったとかいう落ちはないよね
820デフォルトの名無しさん: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 を呼び出せば外部プロセスをを呼び出す必要
はありませんが、スクリプトの作成で毎回このようなコードを書くのは面倒です。

みなさんはどのようにしていますか?
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__))
で良いのでなかろうか。
826デフォルトの名無しさん:2012/08/29(水) 23:22:53.42
>>825
ありがとうございはした。確かにこれでできそうです。
require ではベース名しか指定できないものと勘違いしていました。
827デフォルトの名無しさん:2012/09/02(日) 17:02:16.34
WinでRuby 1.9環境にスイッチしようと思ったけど
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.54
>>830
Windows 2000でうごかないのですか?
なぜサポートしてくれないの?
834デフォルトの名無しさん: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を弄ることがゲームと化しているので、ゲームソフトが必要ない
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]
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が書いていないし・・・
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 }))
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
841839:2013/01/23(水) 14:37:49.03
>>840
DL.dlunwrap(obj.to_i).call(hwnd)
ならどう?
842838:2013/01/25(金) 07:39:32.37
>>841
ありがとう。動いた
う〜ん・・・もうちょっと悩んでみます
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
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
例外の内容が意味不明でお手上げ状態です。よろしくお願いします
845デフォルトの名無しさん:2013/02/04(月) 08:29:16.63
MyFrame.new.show でエラーだろ
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
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
自分の知らない何かを根本的に勘違いしているのだろうか・・・
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>'
849848:2013/02/05(火) 07:35:33.98
ちなみにバージョン
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)
...
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
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
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>'
振り出しに戻っている・・・
855デフォルトの名無しさん:2013/02/11(月) 23:27:45.98
python使った方が楽よ
856838:2013/02/12(火) 07:38:35.03
>>855
それは自分も思い始めていたけど、Pythonはあの使えないドキュメントにストレスがたまる
Rubyみたいに一目で継承関係やメソッドがわかるリファレンスマニュアルがないんだよね
857デフォルトの名無しさん:2013/02/12(火) 10:14:20.96
えっ
858デフォルトの名無しさん:2013/02/12(火) 10:30:38.25
確かに ttp://python.jp/ の方は使えないな。
ttp://python.org/ の方が良い。
859デフォルトの名無しさん:2013/02/12(火) 14:10:05.86
>>32 この娘10歳くらいでK-POP踊ってるんだけど、ものすごくかわいい。
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
861デフォルトの名無しさん:2013/02/12(火) 22:44:52.00
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
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での方法がわからない。
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」
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バンザイ!
873デフォルトの名無しさん:2014/01/05(日) 08:05:56.89
Windows使うならc#、JScriptで十分だろ
わざわざ苦労してまで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.87 ID:wAo5RnAe
2.1.1-p76
882デフォルトの名無しさん:2014/04/02(水) 21:10:35.57 ID:cUTTSimD
2.1.1-p76
883デフォルトの名無しさん:2014/05/22(木) 10:16:40.13 ID:T7g9nJmM
日テレ低原価テレビ問題ニューヨーク塩素スープ ニュース沖縄牛ライス北京ダウ問題分

日テレ低原価テレビ問題ニューヨーク塩素スープ ニュース沖縄牛ライス北京ダウ問題分

日テレ低原価テレビ問題ニューヨーク塩素スープ ニュース沖縄牛パスタ北京ダウ問題
884デフォルトの名無しさん:2014/05/24(土) 20:40:06.34 ID:MGyccAbV
windowsは開発者(自前ビルド)と末端(ASR)の差が激しいから
RimixとかRuby installerとか全然話題にならないよな
885デフォルトの名無しさん:2014/05/24(土) 20:42:04.73 ID:MGyccAbV
remixはNYAOS + 端末ソフトウェア ckw-mod
なんてトリッキーな組み合わせが標準だけどtcc/leとかも検討してほしい
886デフォルトの名無しさん:2014/05/26(月) 00:08:22.40 ID:9gRnxYGF
Ruby Installerは2.0.0で止まっているが
もうメンテしていないわけじゃなくて
本家がバグ直してくれへんのや・・・とかなんか愚痴っとる
どんだけ無能やねん
nobuさんも呆れてはるわ
887デフォルトの名無しさん:2014/05/26(月) 05:20:21.09 ID:Js6v2rIN
もうこの業界クレクレ厨ばかりになってしまった
888デフォルトの名無しさん:2014/05/28(水) 03:51:13.99 ID:mHv7v4p1
Ruby Tools for Visual Studioまだ?
Ironうんたらは却下
889デフォルトの名無しさん:2014/05/28(水) 06:33:39.68 ID:r/cEnKci
ironとはなんだったのか
890デフォルトの名無しさん:2014/06/08(日) 23:14:00.93 ID:Q2J5svst
2.1.2-p95
891デフォルトの名無しさん:2014/09/25(木) 20:34:47.11 ID:79Elr1ZX
>ActiveScriptRuby 安定版に幾つかの便利なライブラリを加え、
>さらにRubyをCOMサーバとしても利用可能にしたもの。ベースはmswin32版

VC版じゃね?
892891:2014/09/26(金) 01:40:49.25 ID:TbsD84QQ
勘違いw
mswin32版=VC版だった
893デフォルトの名無しさん:2014/09/26(金) 11:56:01.87 ID:TbsD84QQ
Ruby Installerは2.0.0で止まっているが
指摘すると>>887みたいに攻撃して正当化してくる
だめだこりゃ
894デフォルトの名無しさん:2014/09/26(金) 13:05:56.06 ID:dz5SWLeo
実際ソフト公開したことある人なら知ってる
クレクレ厨のいかにクレクレかということを
895デフォルトの名無しさん:2014/09/28(日) 09:57:44.35 ID:CXiop63A
だよな。そして何かを提供すればするほど損をするネット共産主義のくだらなさを悟って
自分も乞食ユーザになる選択をする
896デフォルトの名無しさん:2014/10/01(水) 21:16:04.32 ID:y5YwAOfS
テンプレRDE古いなーって思ったら2006年でバロス
897デフォルトの名無しさん:2014/10/07(火) 00:18:48.73 ID:M2ehTgeA
estt
898デフォルトの名無しさん:2014/10/23(木) 12:15:21.84 ID: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
899デフォルトの名無しさん:2014/10/23(木) 14:53:39.11 ID:RjBQcz8M
OLEオブジェクトにゼロデイ脆弱性、Microsoftが暫定対策プログラムを公開
http://www.forest.impress.co.jp/docs/news/20141022_672480.html
900デフォルトの名無しさん:2015/01/02(金) 14:28:52.91 ID:AWF2zIf0
2.2.0
901デフォルトの名無しさん:2015/02/08(日) 13:40:14.51 ID:7p70QxfD
cygwin で ruby をインストールしたら実行しても何も表示されないんだけど,
これってみんなそうなの?
ちなみにバージョンは 2.0.0.p598-1
902デフォルトの名無しさん:2015/02/08(日) 14:13:28.74 ID:tUjKNEQ0
なにも表示しないコードを実行したらそうなる
903デフォルトの名無しさん:2015/02/08(日) 14:24:11.60 ID:CIQof1kH
実行って何を実行したんだ?どうなる想定だったんだ?何のためにrubyをインストールしたんだ?そもそもrubyがなんだか知ってんの?
904デフォルトの名無しさん:2015/02/08(日) 19:54:56.88 ID:rq/NZW4u
今はJRubyで、JavaFXを使って、
GUI表示している人が、多いのでは?
905デフォルトの名無しさん
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 を手で書き換えればいいけど、なんだかモヤモヤ