nDiki : wxPerl

wxPerl

wxWidgets Perl インタフェース

Perl でマルチプラットホームなGUIを作成可能にする。

Wx::ConfigBase

 my $config->Wx::ConfigBase::Get;
 $config->Read("key1");
 $config->Write("key2", "abc");

2004年7月21日 (水)

wxPerl + ActivePerl 5.6.1 build 638

PPM パッケージで。wxWidgets もリンクされているためか別途インストールの必要なし。 チュートリアルのサンプルで動作確認。

Wx::ActiveX も試してみようと思ったが、5.6 用のPPM パッケージ無し。 ソースからビルドするには(今度こそ)wxWidgetsをきちんといれておく必要があるのでパスしておく。

[ 7月21日全て ]

2004年7月23日 (金)

Wx::GLCanvasOpenGL

wxWidgets + wxPerl 上で OpenGL を使うためのモジュール。

一応 3D 屋に勤務しているし、入れてみる(Debian GNU/Linux に)。 サンプルの動作を確認。

しかし OpenGLAPI (と wxWidgets も) についてまだ全く知らないので、何かをするにはまず学習から。

[ 7月23日全て ]

2004年8月11日 (水)

NSISインストーラを作ってみる。

NSIS 2.0 を Windows BOX に入れて、プログラムのインストーラを作ってみる。 今まで Windows 用のインストーラを作った経験はなし。

NSISをインストールしたディレクトリの下の Examples の中にある NSISスクリプト (.nsi) をコピーして、ちょこちょこっと編集。 エクスプローラでそのファイルを右クリックして出るメニューに 'Compile NSIS Script' というのがあるのでこれを実行するとインストーラが出来上がる。 簡単。

NSISスクリプトはちょっと繁雑だが、複雑な事をしないならば気をつけて編集すれば問題ないか。

wxPerl + PAR + NSIS でそれなりに格好がつくプログラムができそうだ。 コマンドライン用コンパイラもあるので、Makefile.PLから一発でできるようにしたい。

[ 8月11日全て ]

2004年8月20日 (金)

[ Perl ] blib モジュール

wxPerl のサンプルを見ていて blib モジュールなるものを知る。 5.004 から既にあったもので、にカレントディレクトリ下の blib (あるいはいくつか上の階層にある blib )を @INC に追加してくれるモジュール。

 PERL5LIB=blib/lib:blib/arch blib/script/myscript

とするかわりに

 perl -Mblib blib/script/myscript

のようにスクリプトを実行できるようになる。

[ 8月20日全て ]

2004年8月27日 (金)

Wx::ActiveXビルド

Wx::ActiveXPerl 5.6.1 用バイナリ(PPM パッケージ)が配布されていないのでビルドする。 最初はPPM パッケージ化された wxPerl (Wx-0.19-wxmsw2.4.2-win32-u-5.6.1.zip) と wxWidgets 2.4.2 で作成しようと思ったが、うまくいかないので全部ビルドすることに。

wxWidgets をインストール

wxMSW-2.4.2-setup.zip を C:\usr\local\wxWindows-2.4.2 へ。

wxPerl 0.20

ドキュメントの通り、wxWidgetsビルド後、モジュールを作成。 コンパイルには Visual C++ 6 を使用。

wxWidgetsビルド

 set WXWIN=C:\usr\local\wxWindows-2.4.2
 set WXDIR=C:\usr\local\wxWindows-2.4.2
 cd %WXDIR%\src\msw
 nmake -f makefile.vc FINAL=1 dll
 cd %WXDIR%\contrib\src\stc
 nmake -f makefile.vc FINAL=1 WXUSINGDLL=1
 cd %WXDIR%\contrib\src\xrc
 nmake -f makefile.vc FINAL=1 WXUSINGDLL=1

Wx-0.20.tar.gz を展開したディレクトリに移動し(WXWIN, WXDIR は前記と同じように設定したまま)、

  perl Makefile.PL
  nmake
  nmake test
  make_ppm

PPM パッケージ化まで。

Wx::ActiveX 0.05

先に wxPerl をインストールしておいてから、

 set WXWIN=C:\usr\local\wxWindows-2.4.2
 set WXDIR=C:\usr\local\wxWindows-2.4.2
  perl Makefile.PL
  nmake
  nmake test
  make_ppm

PPM パッケージ化。インストール。

demo ディレクトリにあるサンプルで、IE、Flash Player、Acrobat、Windows Media Player を貼りつけられていることを確認。

[ 8月27日全て ]

2004年12月31日 (金)

私的10大ニュース2004 [ comp ]

cool programs

Palm OS 生活復活

PEG-TJ25を購入し、Palm OS 生活復活。 最初はおもちゃのつもりで買ったのだが、プロジェクトマネジメントなどにシフトした仕事のスケジュール管理などで大活躍。

PDA 市場の明るい話はあまり聞かないが、末長く製品が出て続けて欲しい。

https://www.naney.org/img/2004/X/X2004-03-05-0003.jpg https://www.naney.org/img/2004/X/X2004-03-14-0004.jpg https://www.naney.org/img/2004/X/X2004-04-10-0001.jpg

[ 12月31日全て ]

2005年3月11日 (金)

wxPerl で daemon モニタ

Perl で書いた HTTP daemon 形式のシステムがあるのだが、Windows ユーザにとってはコマンド プロンプトからコマンドラインオプションを指定しての起動は繁雑でよろしくないらしい。

以前から管理用のGUIをつけようと思っていたのだが、現在の daemon プログラムにGUIをつけるとするとマルチスレッド化にしなければならないとか、そういう頭があって後まわしにしていた。

今回、まずはランチャと daemon のログモニタというレベルでGUIを作ってみることにした。 wxPerlランチャを作ってそこから子プロセスとして daemon を起動するという形式。 ランチャ側のアイドルループで、daemon の標準出力・標準エラー出力を読み出して表示するというもの。Linux 上ではうまく動いた。

  • Wx::Process でプロセスオブジェクトを生成
  • Wx::Process::Redirect() で、I/Oを取れるようにする。
  • Wx::ExecuteCommand() や Wx::ExecuteArgs() で daemon を起動。Wx::Process のインスタンスに結びつける。
  • EVT_IDLE でアイドルイベントハンドラの中で Wx::Process::GetInputStream、Wx::Process::GetErrorStream からの読み出しを行い defined ならば、UI側で表示。
  • daemon の終了がしたかどうかは EVT_END_PROCESS で捕捉。

といった感じ。

[ 3月11日全て ]

2005年3月16日 (水)

wxPerl + PAR ではDLL追加指定の必要あり

メモ。 PAR (0.87) では DLLが使用するDLLまでは自動的に検出できないので、明示的に指定する必要あり。

wxPerl だと Wx.dll 以外に wxmsw24.dll が必要になるので、pp の -l オプションで指定しなければならない。 この際見つからなくてもエラーにならないようだ。 見つからない場合はフルパスで指定しなければならない。

 $Config{sitelib} . "\\auto\\Wx\\wxmsw24.dll"; # with use Config;

あたりにあるはず。

[ 3月16日全て ]

2006年12月13日 (水)

wxPerl PPM パッケージ

PAR リポジトリでいろいろ遊べそうなので、GUI 作成に wxPerl の方も久しびりにまた使おうかなと。

ただ wxPerl の本家が配布しているビルド済み PPM パッケージは、いまだに Wx 0.26 + wxWidgets 2.6.2 だったりして使う気になれない。 かといって、自分でビルドするのも結構手間だし。

で探していたところ Wx::Perl::Packager の開発者が、自身のサイトで PPM パッケージを配布しているのを発見。

最新のパッケージがあるのが嬉しい。

というか12月12日 にリリースされた wxWidgets 2.8.0 と、 CPAN にもまだない CVS 版 Wx (次の 0.66 のためのスナップショット)が、同じ12月12日に公開されているという早さ。

これがあれば、最新の機能が堪能できそうだ。

[ 12月13日全て ]

2018年2月23日 (金)

今日のさえずり: 渋谷勤務になってからなか卯に行かなくなった

2018年02月23日

[ 2月23日全て ]

About

Naney Naneymx

Naney (なにい) です。株式会社MIXIで SNS 事業の部長をしています。

※本サイトの内容は個人的見解であり所属組織とは関係ありません。

Process Time: 0.025393s / load averages: 0.17, 0.21, 0.23