【ActiveScript】Ruby ..
[2ch|▼Menu]
331:デフォルトの名無しさん
07/12/04 14:59:27
>>330
Ruby.NET的にはそういうのはどうなんの?
大文字のと小文字のメソッドが全部定義されてる?


332:デフォルトの名無しさん
07/12/04 15:01:16
>>331
定義されていない。
いちいちAdditemなのかAddItemなのかを調べる必要がある。

333:デフォルトの名無しさん
07/12/04 16:45:30
え、インテリセンス使いまくりな俺には厳しい仕様だなー

334:デフォルトの名無しさん
07/12/04 22:55:31
>>332
> 定義されていない。
てことはmethod_missing使って呼び出す?

335:デフォルトの名無しさん
07/12/07 01:21:38
>>310 を書いた者ですが、
vr/vruby: などと書いているところを
vr/vruby.rb: というように拡張子まで含めて書くと
警告が出なくなりました。

というか、何で含めて書かなかったのだろう。
んー。

336:デフォルトの名無しさん
07/12/07 12:34:35
Rubyist Magazine出張版 Ruby on Windows
URLリンク(www.amazon.co.jp)

337:デフォルトの名無しさん
07/12/07 20:52:08
(追記) Windows における Ruby のバイナリ互換性について

ビルド環境として MinGW、 VC++6、VC++7、VC++8を考えます。
で、ちゃんと検証したわけではありませんが、おそらく以下が成立するはずです。

MinGWで作ったRubyとVC++6で作った拡張ライブラリは一緒に使える。逆も可。
MinGWで作ったRubyとVC++7で作った拡張ライブラリは一緒に使えない。逆も不可。
MinGWで作ったRubyとVC++8で作った拡張ライブラリは一緒に使えない。逆も不可。
VC++6で作ったRubyとVC++7で作った拡張ライブラリは一緒に使えない。逆も不可。
VC++6で作ったRubyとVC++8で作った拡張ライブラリは一緒に使えない。逆も不可。

これは利用されるC Runtime libraryの種類が問題になっています。
一応Windowsには異なるビルド環境で作ったオブジェクトファイルを混ぜても
「だいたい」問題なく動作させるための機構があるらしいのですが、
Rubyの場合問題が起こる部分を使っている、ということらしいです。
最近のRubyでは、ビルド時に異なるビルド環境を使おうとしてもできないような
対策が施されています。

そこで、バイナリ配布されているrubyの処理系は大半がVC++6かMinGW で
ビルドされているため、人に配布するためのバイナリを作るのであれば
このどちらかを使うべき、ということになります。

URLリンク(www.kmc.gr.jp)

338:デフォルトの名無しさん
07/12/07 21:11:39
>>337
それがどうかしたか?

339:デフォルトの名無しさん
07/12/09 23:33:10
>>337
VC7とVC8間も互換性ないからな。
VC9も同様。


340:デフォルトの名無しさん
07/12/10 03:26:16
>>339
VC8 なんてSPのあるなしでも互換性がないんじゃなかったっけ?


341:デフォルトの名無しさん
07/12/10 10:55:26
>>340
ない。

342:デフォルトの名無しさん
07/12/10 16:10:11
Ruby+vruby+exerbで最適な画像処理用ライブラリって何でしょうか。
jpgを読みこんで、パレットをいじったりして、bmpで出力したいのですが。。。

343:デフォルトの名無しさん
07/12/11 19:33:35
>>342
rcairoかrmagick

344:デフォルトの名無しさん
07/12/11 21:52:43
>>337-339
知らんかった
DLL化された拡張ライブラリの話しだよね?

困るかも

345:デフォルトの名無しさん
07/12/12 13:21:49
>>344
文句があるならMicrosoftへ。

346:デフォルトの名無しさん
07/12/13 22:30:40
URLリンク(www.garbagecollect.jp)

>_ なんかいろいろ言ってる間に[ruby-core:14039]が。
>
>Anyway, the MinGW guys just commited a few changes that will allow you
>target specific MSVCRT versions with the same compiler, removing the
>pain to create extensions with gcc for ruby build with VC6/8/9.
>
>ですってよ。マジすか。福音キター!
>
>_ こうなってくると前提が変わってきて、mingwがMSVCRT.dllとリンクするからVC6が望ましい、という理屈は成立しなくなるんだよね。
>じゃあみんなでVC9に行ってみる?

347:デフォルトの名無しさん
07/12/18 20:15:52
Cで拡張ライブラリを書いたときに、拡張ライブラリから関数ポインタを返してRuby側でその関数を実行するにはどうしたらいいですか。


348:デフォルトの名無しさん
07/12/18 20:59:03
そんなことよりモジュール関数にするとか

349:デフォルトの名無しさん
07/12/19 01:37:03
関数ポインタをRuby上で表現できるようなクラスを書くしかないと思うけど。
でも結局DLの車輪の再発明のような気がする。

350:デフォルトの名無しさん
07/12/19 07:50:10
>>348>>349
つまり直関数ポインタそのものを渡してもRuby側で実行できなくて、
たとえば拡張ライブラリを以下のようにするしかないってことですか。

//これをRuby側で実行したい。
hoge (*pf)(hage x);

//これをエクスポートしてRuby側で使う。
hoge f(hage x)
{
 if(pf)return pf(x);
else return moge;
}

351:デフォルトの名無しさん
07/12/19 08:08:29
拡張ライブラリの作り方くらい読めよ

352:デフォルトの名無しさん
07/12/19 13:37:13
>>350
そもそも、どうして関数ポインタをRuby上で扱いたいの?

353:デフォルトの名無しさん
07/12/19 13:40:16
関数ポインタをシェルスクリプトに返しても呼べないが如し

354:350
07/12/19 18:16:05
レスありがとうございます。

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

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

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



355:デフォルトの名無しさん
07/12/19 20:31:50
Windowsだったらsuikyoってゆーローマ字変換ライブラリは使えませんか??

356:350
07/12/25 20:31:37
すいません。350です。
また教えてください。

とりあえず簡単な拡張ライブラリを作ったのですが、なぜかloadできません。

mytest.soというファイルをカレントディレクトリにおいて
以下のようなスクリプトを流すと以下のようになります。

----スクリプト-----
f=open('./mytest.so')
p f
require './mytest'
----結果----------
#<File:./mytest.so>
./mytest.so: No such file or directory - ./mytest.so (LoadError)
from test.rb:3
-------------------
openではファイルが開けるのにrequireでは見つからないといわれてしまいます。
なにが悪いのでしょうか。
環境はwinXP+cygwinです。
rubyのバージョンは1.8.4 (2005-12-24) [i386-cygwin]です。

357:デフォルトの名無しさん
07/12/26 04:18:49
$LIB_PATH には、./は入るんじゃなかったけ?
$SAFEが1以上なら、入らんみたいだが・・・

358:デフォルトの名無しさん
07/12/26 04:19:21
とりあえず、プロンプトで、これどうなります?
$ ruby -e 'puts $:'

359:350
07/12/26 07:25:56
>>358
以下のようになりました。

/usr/lib/ruby/site_ruby/1.8
/usr/lib/ruby/site_ruby/1.8/i386-cygwin
/usr/lib/ruby/site_ruby
/usr/lib/ruby/1.8
/usr/lib/ruby/1.8/i386-cygwin
.

360:デフォルトの名無しさん
07/12/27 01:06:46
ちゃんと、最後に、 ". "が入っているから、
上手くいくはずなんだがな・・・

361:デフォルトの名無しさん
07/12/27 05:29:34
ファイルが見つからないんじゃなくて、mytest.soをDLLとしてロードできない何らかの理由があるんじゃないかな。
Init_mytestという関数がないとか、mytest.soが依存している他のDLLが動的リンクできないとか。

362:デフォルトの名無しさん
07/12/27 09:08:01
>>361
ロードできました。ありがとうございます。
原因はずばりInit_mytestがない、でした。
SWIGで生成したmytest_wrap.cxxではInit_MyTestという関数になっていて
これをInit_mytestにリネームすることで動くようになりました。
(あと #define SWIG_Init Init_MyTestのところもリネームしました)

mytest.iの書き方がまずかったためにこのようなことになったのでしょうか。
mytest.iは以下です。

%module MyTest
%{
#include "test.h"
%}

%include "test.h"


swigへの引数は-c++ -ruby mytest.iです。

363:350=362
07/12/27 10:19:06
とりあえず
%module MyTest
のところを
%module mytest
にすると上手くいくようです。
モジュール名は大文字で始めなければいけないという先入観がありました。


364:デフォルトの名無しさん
07/12/27 22:15:16
URLリンク(arton.no-ip.info)

Ruby-1.9.0.msi
ASRやExerbはもちろん、Visualu Rubyなども入っていない素のMSVCRT(VC++6SP5)版のRuby 1.9.0になります。
以下が含まれます。サイズは15MB近くとでかいので注意。
・1.9.0 リファレンスマニュアル (chm版)
・include、lib、riなど1.9.0のnmake install対象すべて。rbconfig.rbは修正が必要かも
・Vista対応
・openssl(0.9.8g)
・readline
・zlib
・iconv(1.9.1)
・tcltk84用tcltklib.so
・この忙しいのにしっかりと入ったgoruby
再配布もご自由にどうぞ。
なお、アンインストールには信じられないくらいの時間がかかります。

365:デフォルトの名無しさん
07/12/27 22:23:10
ゴルビーってなんやねん

366:デフォルトの名無しさん
07/12/28 04:49:31
俺は全然まとはずれな、答えしてたのね orz

DLLの中美香

367:デフォルトの名無しさん
07/12/30 01:40:29
artonさんとこのインスコして
うきうきわくわく

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

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

しょぼーん(´・ω・`)

368:デフォルトの名無しさん
07/12/30 03:51:52
どういうベンチなんだそれは・・・

369:デフォルトの名無しさん
07/12/30 14:07:39
require 'benchmark'
puts `ruby -v`
puts Benchmark::CAPTION
puts Benchmark.measure(RUBY_VERSION) { "a"*100_000_000 }



ruby 1.8.6 (2007-03-13 patchlevel 0) [i386-mswin32]
      user     system      total        real
  1.828000   0.031000   1.859000 (  1.875000)


ruby 1.9.0 (2007-12-25 revision 14709) [i386-mswin32]
      user     system      total        real
  2.484000   0.015000   2.499000 (  2.532000)


ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mingw32]
      user     system      total        real
  0.813000   0.015000   0.828000 (  0.828000)

ruby 1.9.0 (2007-12-30 revision 0) [i386-mingw32]
      user     system      total        real
  0.953000   0.016000   0.969000 (  0.969000)

370:デフォルトの名無しさん
07/12/30 14:10:17
まちごうた
require 'benchmark'
puts `ruby -v`
puts Benchmark::CAPTION
puts Benchmark.measure { "a"*100_000_000 }

371:デフォルトの名無しさん
07/12/31 07:38:09
>>368は、詳細をだせ、と言っているのではなく、
たぶん、それはベンチになっていないといいたいのでは?

372:デフォルトの名無しさん
07/12/31 12:21:56
1.9のほうが遅い=ベンチになってない(Ruby脳)

373:デフォルトの名無しさん
07/12/31 18:05:45
ActiveTcl8.5も出てたのか

374:デフォルトの名無しさん
08/01/02 20:16:04
何十個かの言語のベンチを比較するページがどっかにあったけど、
あれ試せばいいんじゃね?

375:デフォルトの名無しさん
08/01/03 09:38:43
RubyオセロをCOM同士で戦わせるベンチみたいなのはねーの?

376:デフォルトの名無しさん
08/01/09 19:38:07
Rubyスクリプトから、ファイルを関連付けられてるアプリで開くにはどうすりゃよいですか?

377:デフォルトの名無しさん
08/01/09 19:56:08
変数fileにファイル名が入ってるとして、

system("start #{file}")

378:デフォルトの名無しさん
08/01/09 19:57:45
Win32APIのShellExecuteを呼ぶ

379:デフォルトの名無しさん
08/01/09 20:24:41
>>377-378 thx
ShellExecuteで解決しました
ただ、反応しないファイル(assoc .extで関連付けが確認できないもの?)があるのですが
それらの対策ってできます?

380:デフォルトの名無しさん
08/01/09 20:32:13
戻り値が32未満ならエラーだからさらにその意味を調べて分岐すればいい。
たぶんこれ
SE_ERR_ASSOCINCOMPLETE = 27;
詳細はググレカス

381:デフォルトの名無しさん
08/01/09 21:16:19
zipを渡して戻り値SE_ERR_NOASSOC
関連付け設定しなおして再起動してもうまくいかず
試しに
system("cmd /c \"#{zipfile}\"")
だったらうまくいったり
他のPCだったら無問題だったので、自分の環境がおかしいということで
めんどくさいので解決ということにしました
指南どうもありがとう

382:デフォルトの名無しさん
08/01/11 15:55:04
/\s/ =~ zipfile

383:デフォルトの名無しさん
08/01/13 15:37:53
RubyでUSBカメラ2台以上のリアルタイム映像を取り込みたいのですが、
ふさわしいライブラリは何ですか?
用途はwindowsでの3次元画像処理です。

ここからは有ればいいなという程度の希望です。
今のところ、機能性と安定性の両方を考えると、Pure Rubyよりもラッパー系が良いかと考えています。
ラップされた方のライブラリがカメラに対応していて、なおかつラッパーが完成しているようなものが一番いいです。


384:デフォルトの名無しさん
08/01/14 17:40:17
ActiveScriptRuby 1.8.5をインストールした環境でVisualuRubyのタイマーを
使いたいのですが、うまく動いてくれません。ソースは下記の通りです。
timeralive?ではタイマーが存在している旨の表示がコンソールに出力されますが、
メソッド"timer1_timer"が呼び出されません。
どうすればちゃんとタイマーが使えるようになるでしょうか?
御指南をよろしくお願いします。

require 'vr/vruby'
require 'vr/vrcontrol'
require 'vr/vrtimer'
include VRTimerFeasible

class TimerTest < VRForm

def construct
self.caption = 'Timer Test'
self.move(140,124,303,173)
addControl(VRStatic,'static1',"Startボタンを押して!",40,80,224,40,0x800201)
addControl(VRButton,'button1',"Start",40,8,224,48)
end

def button1_clicked
addTimer(1000, "timer1")
puts "TimerAlive => " + timeralive?("timer1").to_s
end

def timer1_timer
puts "タイマー来たよ"
@static1.caption = "タイマー来たよ!"
end
end
VRLocalScreen.start TimerTest

385:デフォルトの名無しさん
08/01/14 18:10:03
include VRTimerFeasible をclass定義内に

386:デフォルトの名無しさん
08/01/14 19:55:36
> 用途はwindowsでの3次元画像処理です。

あきらかに、Rubyの用途じゃない

387:デフォルトの名無しさん
08/01/14 21:51:55
>>385
できました。どうもありがとう!

388:384
08/01/14 23:41:34
すみませんが、またまたどなたかに御指南をお願いします。
下記のコードで、timer1_timerのsleep時間中に、Start/Resetボタン(button1)を押してもすぐにはボタンが反応しません。
ボタンを押し続けていると、数秒後にようやくボタンを押し込めるようになるのですが…
これを任意のタイミングでボタンを即座に押し込めるようにならないかと考えています。
できれば具体的なコードで教えていただけるとありがたいです。よろしくお願いします。

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

class TimerTest < VRForm
include VRTimerFeasible

def construct
self.caption = 'Timer Test'
self.move(140,124,303,173)
addControl(VRStatic,'static1',"Start/Resetボタンを押して!",40,80,224,40,0x800201)
addControl(VRButton,'button1',"Start/Reset",40,8,224,48)
end

def button1_clicked
deleteTimer("timer1") if timeralive?("timer1")
@i = 0; addTimer(1000, "timer1")
end

def timer1_timer
@i += 1; @static1.caption = "#{@i}回タイマー来たよ!"
sleep(5) #タイマー中に行う処理のダミー
end
end

VRLocalScreen.start TimerTest

389:デフォルトの名無しさん
08/01/15 01:37:39
sleepんとこの処理をスレッドにするとかそういう話?

390:デフォルトの名無しさん
08/01/15 10:46:47
WinグラマならPowerShell使おうぜ

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

もうRubyいらないね\(^o^)/

391:デフォルトの名無しさん
08/01/15 11:55:49
LastWriteTimeが最終アクセス時間なのか?


392:デフォルトの名無しさん
08/01/15 21:18:26
>>390
PowerShellのリファレンスマニュアルどこよ?
文法とか仕様とか標準ライブラリとか。
Rubyのリファレンスマニュアルレベルの物で良いからどこにあるのか教えてくれ。
俺はそれが見付からなくてやめた。

393:デフォルトの名無しさん
08/01/16 10:24:08
URLリンク(www.atmarkit.co.jp)

スレリンク(win板)


394:350
08/01/16 19:56:40
たびたびすいません。350です。
また教えてください。

SWIGでRuby拡張ライブラリを作っています。
関数の引数にポインタを渡してそれ、を介して値を返す場合typemaps.iに定義されているOUTPUTが使えるそうなのですが、
クラスのメンバ関数だと上手くいきません。
クラスのメンバ関数をtypemapにマッチさせるにはどうしたらいいでしょうか。


395:350
08/01/16 19:57:06
=============C++ヘッダ============
#ifndef MYLIB_H
#define MYLIB_H

void add(int a,int b,int *result);

class AAA
{
public:
void add(int a,int b,int *result);
};

#endif
============C++ソース=============

#include"mylib.h"
void add(int a,int b,int *result) { *result=a+b; }
void AAA::add(int a,int b,int *result) { *result=a+b; }

396:350
08/01/16 19:57:34
==========インターフェースファイル=======
%module mylib
%{
#include"mylib.h"
%}

%include typemaps.i

void add(int a,int b,int *OUTPUT);
void AAA::add(int a,int b,int *OUTPUT);

%include "mylib.h"
===========rubyファイル=================
require "mylib"

print Mylib::add(1,2),"\n"
print Mylib::AAA.new.add(3,4),"\n"


===========実行結果===================
bash-3.1$ ruby test.rb
3
test.rb:4:in `add': wrong # of arguments(2 for 3) (ArgumentError)
from test.rb:4

397:350
08/01/17 20:45:01
半分くらい自己解決しました。

その方法はヘッダを以下のように書き換えるというもの。
一応これで動くのですが、なるべくならヘッダをいじらずに
インターフェースファイルで何とかしたいです。
良い方法があったら御教示お願いします。


#ifndef MYLIB_H
#define MYLIB_H

void add(int a,int b,int *OUTPUT);

class AAA
{
public:
void add(int a,int b,int *OUTPUT);
};

#endif

398:デフォルトの名無しさん
08/01/19 21:52:13
ActiveScriptRubyの1.9.0はでないのかな
それとも1.9.1待ち?


399:デフォルトの名無しさん
08/01/21 02:00:32
ActiveScriptRubyはヤル気あるのか?
1年以上放置してんじゃねーよ。

400:デフォルトの名無しさん
08/01/21 02:03:58
枯れてるんなら余計なことはしなくていいよ

401:デフォルトの名無しさん
08/01/21 22:16:55
どうして欲しいのか言わないと
伝わらないよ。

402:デフォルトの名無しさん
08/01/21 22:17:42
1.9.0に対応してほしい。

403:デフォルトの名無しさん
08/01/21 22:18:59
迷走してるから無理

404:デフォルトの名無しさん
08/01/21 22:49:34
vcで作った拡張ライブラリのバイナリ配布って無理?mscr80になっちゃうでしょ
配布されてるやつはmscrt版だし
ここら辺はわかってる人同士の話しかないのでエンドユーザーには大変だな

405:デフォルトの名無しさん
08/01/21 23:44:45
>>404
そういや、この辺まとめてあるページってないのかな?

gemとかで配布する、Win32用の拡張ライブラリ(DLL)のランタイム回りどうすればいいのという

406:デフォルトの名無しさん
08/01/22 09:47:31
>>404
vが抜けてるあたりで君がわかってなさそうだということは伝わった。

>>405
gemで配布するのはどうすればいいんだろうね。
MinGW版向けということでmsvcrtが無難という気はするが。

407:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/01/22 20:20:36
上の

puts へのへのもへじ

は、

puts 'へのへのもへじ'

の間違いでした。すみません。


409:デフォルトの名無しさん
08/01/22 21:02:30
ActiveScriptRuby も EmEditor も使ってないけど
puts の出力先は Window.document ではないって事だろ
エディタのテキスト編集したいなら Window.document いじれ

410:デフォルトの名無しさん
08/01/25 22:22:35
ActiveTcl8.5に対応したtcltklib.soはないんかい

411:デフォルトの名無しさん
08/01/27 10:19:59
vrubyについて聞きたいのですが、
VRForm上に配置した特定のVRButtonのクリックをReturnキーで
行うにはどうすればいいのでしょうか?

412:デフォルトの名無しさん
08/01/27 12:39:34
VBDefaultButton


413:411
08/01/27 22:09:22
>>412
すみません、VisualRubyリファレンスで探しても、
vrubyのソース内をgrepしても、
vrubyとの組み合わせでググっても、
VBDefaultButtonは出てきませんでした。

VBicと関係あるのでしょうか?
お手数ですが、具体的な使い方を教えていただけないでしょうか?

414:デフォルトの名無しさん
08/01/28 02:15:13
class VRDefaultButton < VRButton
def construct
super
self.stype |= BS_DEFAULTPUSHBUTTON
end


415:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/02/01 07:24:38
include VRKeyFeasible

ちなみに色んな意味でVirualRubyは腐ってるから
本気でGUI検討してるならwxRubyの方がお勧め


417:デフォルトの名無しさん
08/02/02 07:20:53
指定したファイルが
隠しファイル属性を持ってるか
調べるにはどうすれば良いですか?

ASR使えば出来るのかな…?
Ruby標準の機能で出来るならソレが一番良いのですけど

418:デフォルトの名無しさん
08/02/02 07:39:06
Win32Utils の win32/file

419:デフォルトの名無しさん
08/02/03 22:30:29
>418
ああ、組み込み機能では出来なくとも、それでいけるのか。さんくす。

420:デフォルトの名無しさん
08/02/06 23:10:08
是非ともWin32::APIを標準ライブラリに!

421:デフォルトの名無しさん
08/02/07 12:13:03

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

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

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

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

この違いはいったいなんなのでしょうか?
 

422:デフォルトの名無しさん
08/02/07 12:56:48
なんの誤爆だよ

423:デフォルトの名無しさん
08/02/07 22:18:45
>>421
はい誘導〜
スレリンク(tech板)

424:デフォルトの名無しさん
08/02/28 20:18:35
なんか書け

425:デフォルトの名無しさん
08/02/28 21:09:57
なんかっつっても1.9.0でないしな


426:デフォルトの名無しさん
08/03/01 17:58:28
いや、1.9.0-0は出てたろ。
1.9.0-1も出たし。

427:デフォルトの名無しさん
08/03/01 20:24:17
win32oleはユニコードに対応しないのか

428:デフォルトの名無しさん
08/03/02 06:24:41
出てないのは、このスレのサブタイ ActiveScript Rubyの事ね


429:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/03/11 12:01:16
>>429
C:/Program Files/ruby-1.8/lib/ruby/gems/1.8/specifications
などもいるんじゃないかな、と適当なことを書いてみる。

431:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/03/13 07:29:37
たぶんgemとexerbはかなり相性悪い…
というかどちらもrequireを上書きするから同時に使うのはほぼ無理じゃないかな

面倒だが一番すっきり解決する方法はgemを使わずにライブラリをインストールすること
それが困るならmkexyの時にrubygemsをrequireせずに、
gemがインストールされているディレクトリを-Iで指定してrequireすること
あとはmkexyを使わずに自分でレシピファイルを書く方法もあるな

433:デフォルトの名無しさん
08/03/13 22:10:56
>>432
ActiveRecordとActiveSupportをgemんとこから引っこ抜いてきて、
requireしてるとこやらなにやらぶっ殺して回ったらとりあえず動くexeが作れたよ!
さんきゅべりまっち!
なんかスマートに片付いた感じがしないけど!

434:デフォルトの名無しさん
08/03/15 12:14:00
Windows特化fork URLリンク(www.sapphire-lang.org)
"Better overall management"ってのが笑えるけどな。

435:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/03/16 00:25:44
関係ないかもしれんがwxRuby2はそのままではexerb化しても上手くいかない
wx.rbにwx/classes/*.rbを実行時に列挙してrequireしてるところがあるから
そこを書き換えるんだ

437:デフォルトの名無しさん
08/03/16 00:52:33
>>436
GUI部分だけだとExerbでExe化できてるのよ…
wx.rb見てみたけど、相対パス作ってrequireしてるだけっぽいから大丈夫っぽくない?ダメなの?

そして全部展開してみてやってみたけど結果変わらずだった…

438:デフォルトの名無しさん
08/03/16 17:46:18
とりあえず、rubyでGUIでコンパイルが条件ならruby2exeで代用してみれば?
ただ、起動が激重になるけどね。

439:デフォルトの名無しさん
08/03/16 20:55:50
>>438
rubyscript2exeやってみたよ!
wxRubyでxrcファイルを上手く取り込めない
wxruby2.soがエラー吐いてるっぽかったからどうしようもない気がした

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

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

そしてご指摘の通り起動が激重で泣ける orz
俺のマシンだと5秒くらいだけど古いノートパソコンでやると30秒以上余裕でかかるし…

440:デフォルトの名無しさん
08/04/01 09:47:19
wxRubyって既存のコントロールの描画をカスタマイズして使用したりする用途は不向き?
ListCtrlのアイテムのフォーカス枠が見えにくいんで描画をカスタマイズしようとしたけど
ListCtrlのSizeとかRectを得る系のメソッドがことごとく未実装だった・・・


441:デフォルトの名無しさん
08/04/01 22:28:40
不向きということもないとは思うが、
あまり使われないようなメソッドはまだまだ実装されていないのが多い
自分で実装してパッチ投げると皆幸せ

442:デフォルトの名無しさん
08/04/03 10:13:37
そこまでのハッキング力はないのでevt_paintを丸々処理して解決してたんだけど、
get_itemでカラムのテキストが取得できないっぽいのでもうコントロール自体を
自作したほうが早そうだ・・・

なんか本家のwxWidgetsでも既存コントロールのカスタム描画は
難がありそうな感じがする

443:デフォルトの名無しさん
08/04/03 21:38:06
既存コントロールは結局ベースの実装によって変わっちゃうからなぁ
拡張は難しいかもな

444:デフォルトの名無しさん
08/04/22 00:53:04
なんかFrameにSizerくっつけると普通にSizer使えるけど
WindowにSizerくっつけるとまったく動かない。
なんかいろいろいじってもうまく行かないのでここで質問しようと思ったけど
ちょっと本家で試してみる。

445:デフォルトの名無しさん
08/04/22 00:53:27
444ゲット!

446:デフォルトの名無しさん
08/06/16 00:34:15
るりまのchmがいけてないのが心配でならない

447:デフォルトの名無しさん
08/06/16 09:47:47
正直読みづらいよなアレ

448:デフォルトの名無しさん
08/06/16 11:51:27
>>446-447
もう少し具体的に教えてほしいな。
もっと使いやすくなるかもよ?


449:デフォルトの名無しさん
08/06/16 19:21:10
そもそもバグトラッカー止まってるのにどこに言えば……
と思ってたら、いつの間にか復活していたのか

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

あとは多分慣れの問題

450:デフォルトの名無しさん
08/06/16 19:53:09
るりまは、いちいちメソッドのページにいかないと詳細を見られないのがめんどくさい

451:デフォルトの名無しさん
08/06/16 19:54:54
前のchmファイルみたいに、
・標準クラスは継承の階層にしてほしい
・標準添付ライブラリはジャンル別にまとめてほしい
ってことか? なら完全に同意。

Refe2のデータベースからまんま作るからだと思うけど、標準クラスライブラリが辞書順でソートされてても
あんま嬉しくないんだよな。検索できるし。

452:デフォルトの名無しさん
08/06/20 18:25:55
URLリンク(jp.rubyist.net)

453:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/06/21 02:11:09
453追記
Ruby/MySQLのバージョンは0.2.6です

455:453
08/06/22 03:34:24
まだ完全ではないのですが、ほぼ解決できてきました。
ライブラリ中で関数の呼び出し方に誤りがあり、そのためでした。
公開当時と少し変わったのかもしれないですね。
とりあえず接続までうまく行きましたm(_ _)m

456:デフォルトの名無しさん
08/06/25 15:29:39
1.8.7(p22)

457:デフォルトの名無しさん
08/06/27 20:26:33
readlineってどうやってビルドすんの?

458:デフォルトの名無しさん
08/06/28 11:30:14
>>457

ヘッダとライブラリがあって、configureで指定してあれば、自動で作る。
在りかはぐぐれ。
それでもだめなら、やったこととext/readline/mkmf.logを添えてruby-listへ。

459:デフォルトの名無しさん
08/07/20 17:36:46
VisualuRubyのことで質問があります。

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

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

あと上のやり方で登録したメソッド内でメッセージのパラメータ(lparamやwparam)
にアクセスするにはどうすればいいのでしょうか?

460:デフォルトの名無しさん
08/07/20 17:59:48
vruby.rbのmsgarg2handlerargを見ればわかるはず

461:デフォルトの名無しさん
08/07/20 19:44:12
ありがとうございました。わかりました。

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

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

と理解しました。

462:デフォルトの名無しさん
08/07/21 14:07:05
blocking I/O
URLリンク(www.garbagecollect.jp)

なるほど

463:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/08/09 03:39:00
ensure
block.close
excel.quit
fso = book = excel = nil
GC.start
end
exit(-1)
でどう?

465:デフォルトの名無しさん
08/08/09 22:03:31
>>464
ありがとう!
GCに回収させるのか。
ちょっと会社で試してみる


466:デフォルトの名無しさん
08/08/09 22:46:25
なぜWSHでやらないのか

467:デフォルトの名無しさん
08/08/11 23:55:48
>>466 なぜお前がここにいるのか

468:デフォルトの名無しさん
08/08/12 12:29:23
rubyの添付ライブラリてフォルダ100ファイル1000くらいかな?もっとあるよね
標準添付ファイルだけでも1ファイルに収まるような仕組みのrubyてでないかな
データベースみたいなので

cygwinもそうなんだがwindowsのファイルシステムて小さなファイルが大量に発生するのって
あんまり想定してないよね。ディレクトリからしてディスク移動が標準でできないせいでディスク分断がひどいんだよね

469:デフォルトの名無しさん
08/08/12 13:57:13
>>468
exerbとかで一つのバイナリファイルにまとめてしまえばいいんじゃね?

470:デフォルトの名無しさん
08/08/16 01:40:58
1.8.7(p72)

471:デフォルトの名無しさん
08/08/16 15:52:32
>>468
Pythonだとzipimportってのがあって、LIB_PATH相当にzipファイルを入れておくと、
そこからからライブラリを読むんだよな。
Rubyでも決してない需要ではないはず

472:デフォルトの名無しさん
08/08/22 12:38:03
zipにするとzlib必須になるからなぁ。
tar相当のほうがいいのかな。

473:デフォルトの名無しさん
08/08/27 14:08:07
久しぶりに秀丸使ってみたら単語補完とかあって便利だった

474:デフォルトの名無しさん
08/09/04 16:35:07
1.9からは
WIN32OLE -> Win32OLE
require 'Win32API' -> require 'win32api'
にしてくれないかなあ
統一感がなくて気持ち悪いから

475:デフォルトの名無しさん
08/09/05 19:54:48
>>474
とりあえず、後者は、require 'dl/win32' だ。

476:デフォルトの名無しさん
08/09/09 12:14:09
これ楽しすぎるだろ

InfoQ: ファイルシステムでHello World
URLリンク(www.infoq.com)

477:デフォルトの名無しさん
08/09/09 17:44:36
Dokanあついよね。Windowsでまさか、Rubyでファイルシステム作られるとは思わんよ

478:デフォルトの名無しさん
08/09/13 13:08:07
なんでそういうの日本人が作るとネーミングセンスのかけらもないの?

479:デフォルトの名無しさん
08/09/14 21:09:11
そういうな。例えば linux だって結構イタい名前だ。
世の中そんなもんだ。

480:デフォルトの名無しさん
08/09/22 00:30:53
Win32OLEの1.8と1.9の違い(その1)
URLリンク(suke.cocolog-nifty.com)
Win32OLEの1.8と1.9の違い(その2)
URLリンク(suke.cocolog-nifty.com)
Win32OLEの1.8と1.9の違い(その3)
URLリンク(suke.cocolog-nifty.com)
Win32OLEの1.8と1.9の違い(その4)
URLリンク(suke.cocolog-nifty.com)

WIN32OLE_EVENT
URLリンク(suke.cocolog-nifty.com)
InternetExplorer.Application から DWebBrowserEvents2 を導く方法
URLリンク(suke.cocolog-nifty.com)
WIN32OLE_EVENTの第2引数の省略
URLリンク(suke.cocolog-nifty.com)
WIN32OLE_EVENT#on_event_with_outargs
URLリンク(suke.cocolog-nifty.com)
WIN32OLE_EVENT#on_event_with_outargs (その2)
URLリンク(suke.cocolog-nifty.com)
WIN32OLE_EVENT#on_event_with_outargs (その3)
URLリンク(suke.cocolog-nifty.com)
WIN32OLE::VARIANTモジュールとWIN32OLE_VARIANT
URLリンク(suke.cocolog-nifty.com)
Win32OLE 今、実装してみようかと考えているもの
URLリンク(suke.cocolog-nifty.com)
Win32OLE 対応できるんだったら対応したいもの
URLリンク(suke.cocolog-nifty.com)
WIN32OLE_EVENT
URLリンク(suke.cocolog-nifty.com)

481:デフォルトの名無しさん
08/09/24 02:47:32
>1. WIN32OLE#[], WIN32OLE#[]= を使ったプロパティの設定、参照が1.9ではできない。
ああ、たまに使ってたのに

482:デフォルトの名無しさん
08/09/26 00:09:50
Exerb で rails 動かせた人いない?
Exerb はrequireの挙動が違って、railsの中でFile.expand_path(__FILE__)とかやってる場所でこける。
逐一直せば動きそうだが、根本的な解決がしたい。

483:デフォルトの名無しさん
08/09/26 14:07:45
前にexerbか、rubyscript2exeかで固めたrailsアプリを配布している人がいて、
ちゃんと動いていた記憶がある。
どこのブログだったかな・・・
Railsでデスクトップアプリ、とか言っていた気がするが

484:デフォルトの名無しさん
08/09/26 14:21:39
Brails - Social Bookmark Manager by Ruby on Rails
URLリンク(llamerada.ty.land.to)

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

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

Distributing Rails Applications - A Tutorial
URLリンク(www.erikveen.dds.nl)



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

Macには rorgate とかいう rails でデスクトップアプリを
作るためのフレームワークがあるらしいけど、
Windowsではあまりそういう需要はないのかな。
DB処理に裏でActiveRecordが使えるし、
画面がHTMLとCSSで作れるので、
ページ遷移が多くてかつDBを使うときは結構嬉しいと思うんだけど。

486:デフォルトの名無しさん
08/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__はもうちょっと何とかならないのかな。

487:482
08/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:デフォルトの名無しさん
08/09/27 12:10:25
__FILE__がフルパスになるとしたらexeがある場所でいいのか?
どっちにしろそこにrbを置いとかないとならんからちょっと面倒だな

__FILE__より$0がフルパスになってくれると嬉しいんだけどなぁ

489:デフォルトの名無しさん
08/09/27 12:21:08
>__FILE__がフルパスになるとしたらexeがある場所でいいのか?
exeがある場所じゃなくて、ライブラリのそのファイルがある場所。
active_supportなら、例えば c:/my_project/vendor/rails/activesupportx.x.x/lib/active_support.rb

490:デフォルトの名無しさん
08/09/27 15:04:28
一つ質問させてください。
Windows環境で、rubyスクリプトを実行するときに、Systemフォルダがある場所(%SYSTEM%のパス)を知りたいのですが
何か方法はないでしょうか?

win32oleを使えば何とかなると思っていたのですが
Wscript.Shellのメソッドには、見たところパスを取得する手段がないようです。

491:デフォルトの名無しさん
08/09/27 15:57:23
win32ole経由で環境変数の値が取れるので%SystemRoot%か%windir%は分かるでしょ

492:デフォルトの名無しさん
08/09/27 16:03:15
%SYSTEM%ならWin32 APIのGetSystemDirectory。

%SYSTEMROOT%ならそのものズバリの環境変数。
puts ENV['SYSTEMROOT']

493:デフォルトの名無しさん
08/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


494:490
08/09/27 19:21:17
回答ありがとうございました!
今回は古い環境での動作を考え、Win32APIを使って解決させていただきました。

495:デフォルトの名無しさん
08/09/28 02:31:30
exerbで__FILE__の話なら「るびま」のwindows用の本にも載ってるし…
ExerbRuntimeでググれよ

496:デフォルトの名無しさん
08/09/28 12:15:23
>>489
俺が意図を読み違えてるだけかもしれないが、
exeに固めた後はライブラリのそのファイルがある場所って所にそのファイルが無いかもしれないんだぞ
というかそのファイルから読み取らずにexeから直接読み取ってるのでパスは入れられないんじゃないか?
固める前のパスが欲しいってなら出来るかもしれないけど、何か意味あんのかそれ

497:デフォルトの名無しさん
08/10/21 19:58:27
Win32APIは、戻り値がBOOLなのが多いから、戻り値に'b'を指定したら、
0の時だけfalseにして値を返すとかにしたらいいのになあ

498:デフォルトの名無しさん
08/10/26 18:32:44
Vectorで拾ったバーコード生成DLLを利用して、ラベルに印刷したりしてるんだけど
逆にそれをスキャンして、JPG画像ファイルから認識させるツールをご存知のかたはいませんか?

フリーなもので探してるのですが、商用ライブラリとかしかみあたらなくて...
zxingとかjava系のものはいくつかあるようなのですが、Javaはさっぱりでわかりません。

499:デフォルトの名無しさん
08/10/27 00:13:27
何をしたいのか知らないけど安いバーコードリーダを買った方が早いと思う

500:デフォルトの名無しさん
08/10/27 06:38:33
バーコードリーダを現在つかってますが、それ以外の情報も画像中に
含まれているので一括してソフト的に捌きたいのです。

501:デフォルトの名無しさん
08/10/27 10:06:35
どこのスレが適切かはわからないけど
少なくともここよりもっといいスレがあるはず。
手に入れたDLLがRubyから呼べなくて困ってるって
段階になったらまたおいで。

502:デフォルトの名無しさん
08/11/01 23:43:25
pythonにはあったような


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4371日前に更新/175 KB
担当:undef