[#42355] TkCanvasの座標 — Masato Ishimoto <i@...>
はじめまして。Newbieいしもと といいます。
12 messages
2006/06/02
[#42356] Re: TkCanvasの座標
— Hidetoshi NAGAI <nagai@...>
2006/06/03
永井@知能.九工大です.
[#42357] Re: TkCanvasの座標
— Masato Ishimoto <i@...>
2006/06/04
こんにちは、いしもとです。
[#42358] Re: TkCanvasの座標
— Hidetoshi NAGAI <nagai@...>
2006/06/04
永井@知能.九工大です.
[#42359] Re: TkCanvasの座標
— Masato Ishimoto <i@...>
2006/06/04
おはようございます。いしもとです。
[#42373] My/SQL/Ruby for Windows での不具合 — 林 浩一郎 <NQA58508@...>
subscribe Koichiro Hayashi
5 messages
2006/06/09
[#42375] String#count, String#deleteの利用想定 — Daisuke Yamazaki <yamajaki@...>
こんにちは
6 messages
2006/06/10
[#42389] ruby -Ks -rjcode -e"p('|%5.5s|'%'泣き別れ')" #=> "|泣き怖" — take_tk <ggb03124@...>
たけ(tk)です
7 messages
2006/06/12
[#42394] eachはなぜ元々のオブジェクトが返るのか? — Fujioka <fuj@...>
藤岡です。
7 messages
2006/06/12
[#42416] ファイル中の空行の削除方法 — 遠藤 大二 <dendoh@...>
遠藤@札幌です
6 messages
2006/06/18
[#42423] 空白行を除くための行数の数え方 — 遠藤 大二 <dendoh@...>
遠藤@札幌 です
9 messages
2006/06/19
[#42428] toplevel ウィジェットにイベントがわたらない? — Hiroshi Kimura <Hiroshi.Kimura@...>
九工大、木村といいます。
8 messages
2006/06/20
[#42454] 多量の正規表現との効率的なマッチのアイデアを、、 — しん <dezawa@...>
出沢です
22 messages
2006/06/22
[#42455] Re: 多量の正規表現との効率的なマッチのアイデアを、、
— rubikitch <rubikitch@...>
2006/06/22
From: しん <dezawa@aliadne.net>
[#42456] Re: 多量の正規表現との効率的なマッチのアイデアを、、
— しん <dezawa@...>
2006/06/23
出沢です
[#42458] Re: 多量の正規表現との効率的なマッチのアイデアを、、
— rubikitch <rubikitch@...>
2006/06/23
From: しん <dezawa@aliadne.net>
[#42459] Re: 多量の正規表現との効率的なマッチのアイデアを、、
— しん <dezawa@...>
2006/06/23
出沢です
[#42460] Re: 多量の正規表現との効率的なマッチのアイデアを、、
— rubikitch <rubikitch@...>
2006/06/23
From: しん <dezawa@aliadne.net>
[#42461] Re: 多量の正規表現との効率的なマッチのアイデアを、、
— しん <dezawa@...>
2006/06/23
出沢です。
[#42465] Re: 多量の正規表現との効率的なマッチのアイデアを、、
— rubikitch <rubikitch@...>
2006/06/23
From: しん <dezawa@aliadne.net>
[#42467] Re: 多量の正規表現との効率的なマッチのアイデアを、、
— しん <dezawa@...>
2006/06/23
出沢@なるほど、、、
[#42475] String#first, String#last — Kouhei Yanagita <yanagi@...>
こんにちは。柳田です。
6 messages
2006/06/23
[ruby-list:42348] win32oleの「メソッドが無い」というランタイムエラー
From:
"conundrum" <conundrum@...>
Date:
2006-06-01 04:07:01 UTC
List:
ruby-list #42348
conundrumです。
win32oleに関する報告です。(ruby 1.8.4 (2005-12-24) [i386-mswin32])
ごめんなさい、ちょっと長いです。
ファイル拡張子 .hoge を何か適当なアプリケーションに関連づけて、
.hogeファイルを下記のようなコードで開こうとすると、
予期せぬエラーに遭遇しました。
test-wscript-shell-run.rb
------------------------------------------------------------
#! ruby -Ks
require 'win32ole'
shell = WIN32OLE.new( 'WScript.Shell' )
shell.Run( 'test.hoge' )
------------------------------------------------------------
実行結果
winxp-command-prompt>ruby test-wscript-shell-run.rb
test-wscript-shell-run.rb:6:in `method_missing': Run (WIN32OLERuntimeError)
OLE error code:80070483 in <Unknown>
<No Description>
HRESULT error code:0x80020009
例外が発生しました。 from test-wscript-shell-run.rb:6
具体的には、.hoge を秀丸エディタに関連づけました。
test.hoge はプレーンテキストファイルです。
このエラーに遭遇したとき、PCの引っ越し作業直後であったため、
まずは何らかのRubyのインストールに関するトラブルではないか、
と考えました。
「Runメソッドが無い」だって? そりゃ win32ole の故障だろう。
というのが、最初の安直な想像でした。
が、あれこれ苦闘して、別の原因があることが判明しました。
まず、上記のRubyコードと等価なVBScriptコードを書いて、
何が起きるか調べました。
Set objShell = WScript.CreateObject( "WScript.Shell" )
objShell.Run( "test.hoge" )
すると、こんな結果になりました。
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.
x:\xxxxxxx\hoge.vbs(2, 1) (null): この操作に対して指定されたファイルには、
アプリケーションが関連付けられていません。
なるほど、関連づけがうまくいっていないのか、と理解できました。
ただ、Windows Explorer できちんと関連づけ作業を行い、
test.hoge をダブルクリックすれば、ちゃんと秀丸エディタで開かれる。
どういうことだろう?
理由がわからず、Excite質問広場にて質問を投げてみましたが、
回答を得られませんでした。
( このときのハンドルネームは nagilum です。
もしかして、ご覧になった方もいらっしゃるかもしれませんね。)
仕方なく秀丸エディタをつついているうちに、
秀丸エディタにも「関連づけ」を行う機能があることに思い当たり、
もしかして・・・と秀丸エディタで関連づけを行ってみると、
上記のエラーはみごとに解消されてしまいました。
そうなると、疑うべきはレジストリです。
Windows Explorer による関連づけと秀丸エディタによる関連づけの
レジストリに対する影響の差分を調べました。
影響箇所が多数の箇所に散在するため、100%確証が持てる答えに
たどりつけませんでした。が、大まかに書くと、こういうことです。
Windows Explorer は、自分がプログラム起動に使う情報だけしか
レジストリに書かない。
対して秀丸エディタは HKEY_CLESSES_ROOT など「クラス情報」に
拡張子情報を登録する。
WScript.Shell.Run はレジストリの「クラス情報」を当てにしている。
まとめます。
win32oleが「メソッドが無い」というランタイムエラーを吐く場合、
それは「メソッドが無い」のではなく「メソッド呼び出しの結果異常」
を疑う必要がある。
Windows Explorer を使った関連づけは不完全。
手作業または専用のツールや方法で、きちんと「クラス情報」を登録する
必要がある。( これはRuny/win32oleとは無関係ですけど )
最後に。
win32oleには本当にお世話になってます。助かってます。
ありがとうございます。足を向けて寝られないです。
ですので、win32oleの緯度,経度をご存知の方は教えてください。
足を向けて寝ないようにします。