[#44066] Ruby 1.8.6-p111 / 1.8.5-p114 released (Security Fix) — Urabe Shyouhei <shyouhei@...>

Hi all.

18 messages 2007/10/04
[#44067] Re: Ruby 1.8.6-p111 / 1.8.5-p114 released (Security Fix) — Takahiro Kambe <taca@...> 2007/10/04

こんにちは。

[#44068] Re: Ruby 1.8.6-p111 / 1.8.5-p114 released (Security Fix) — Shugo Maeda <shugo@...> 2007/10/04

前田です。

[#44090] Windowsアプリにrubyを組み込んだときのエラーメッセージ — "湊大典" <minato.daisuke@...>

こんにちは。

19 messages 2007/10/07
[#44091] Re: Windowsアプリにrubyを組み込んだときのエラーメッセージ — Nobuyoshi Nakada <nobu@...> 2007/10/09

なかだです。

[#44097] Re: Windowsアプリにrubyを組み込んだときのエラーメッセージ — "湊大典" <minato.daisuke@...> 2007/10/10

こんばんは、中田さん。

[#44098] Re: Windowsアプリにrubyを組み込んだときのエラーメッセージ — "U.Nakamura" <usa@...> 2007/10/10

こんにちは、なかむら(う)です。

[#44103] Re: Windowsアプリにrubyを組み込んだときのエラーメッセージ — "湊大典" <minato.daisuke@...> 2007/10/11

こんにちは、中村さん。

[#44104] Re: Windowsアプリにrubyを組み込んだときのエラーメッセージ — Nobuyoshi Nakada <nobu@...> 2007/10/11

なかだです。

[#44105] Re: Windowsアプリにrubyを組み込んだときのエラーメッセージ — "湊大典" <minato.daisuke@...> 2007/10/12

そうなんですか。

[#44106] Re: Windowsアプリにrubyを組み込んだときのエラーメッセージ — "きむらこういち" <hogemuta@...> 2007/10/12

木村です。

[#44108] Re: Windowsアプリにrubyを組み込んだときのエラーメッセージ — pegacorn <subscriber.jp@...> 2007/10/12

From: "きむらこういち" <hogemuta@gmail.com>

[#44109] Re: Windowsアプリにrubyを組み込んだときのエラーメッセージ — "Nobuyoshi Nakada" <nobu@...> 2007/10/13

なかだです。

[#44125] ruby-tk with tcltk8.5b1 — Ryutaro Amano <wn9r-amn@...>

天野竜太郎と申します。

14 messages 2007/10/19

[#44147] 2個づつの組を作る方法のすべて — "142QN4969@..." <ohrs@...>

小原と申します。御世話になっています。

15 messages 2007/10/27

[ruby-list:44098] Re: Windowsアプリにrubyを組み込んだときのエラーメッセージ

From: "U.Nakamura" <usa@...>
Date: 2007-10-10 14:21:26 UTC
List: ruby-list #44098
こんにちは、なかむら(う)です。

In message "[ruby-list:44097] Re: Windowsアプリにrubyを組み込んだときのエラーメッセージ"
    on Oct.10,2007 22:55:02, <minato.daisuke@gmail.com> wrote:
| Windowsでは同じようにすると
| 
| Fixnum: -657714433
| 
| などというメッセージが返され正しいメッセージが返されません。
| 
| あとWindowsではrb_load_protectをした後に
| ruby_sourcefile, ruby_sourceline
| を参照しましたが
| ((eval)) 0
| などというメッセージが得られて
| エラー行とファイル名を得られることができませんでした。
| これもエラーメッセージとエラー行とファイル名を得たいのですが
| どのようにしたらよろしいのでしょうか。

ちゃんとエラーメッセージが得られますよ?

#include <ruby.h>

void output_eval_error(int error)
{
    if(error) {
	VALUE eclass = CLASS_OF(ruby_errinfo);
	VALUE einfo = rb_obj_as_string(ruby_errinfo);

	if(eclass == rb_eRuntimeError && RSTRING(einfo)->len == 0) {
	    MessageBox(NULL, "unhandled exception", "Error", MB_OK);
	}
	else {
	    VALUE epath = rb_class_path(eclass);

	    char tmp[BUFSIZ];
	    sprintf(tmp, "%s: %s", RSTRING(epath)->ptr, RSTRING(einfo)->ptr);

	    MessageBox(NULL, tmp, "error", MB_OK);
	}

    }
}

int WINAPI
WinMain(HINSTANCE current, HINSTANCE prev, LPSTR cmdline, int showcmd)
{
    int error;

    int argc = 0;
    char** argv = NULL;
    NtInitialize(&argc, &argv);
    {
        RUBY_INIT_STACK
        ruby_init();
    }

    rb_eval_string_protect("ptus 'aaa'", &error);
    output_eval_error(error);

    return 0;
}

それでは。
-- 
U.Nakamura <usa@garbagecollect.jp>



In This Thread