mathlink_prog_memo

(2002.11.19)

作られたxx.appが,Launchから起動するとおかしい件は, 最新のMathLinkとライブラリを使うとOKになった.

mathlink.frameworkを/System/Library/FrameWork/に ほうりこんだ.

このやり方で,今までのMathLink programを作り変えてみることに する.

しかし,今までのダイログがうまく出て来ない...フー.

まずは,PBを起動してdefaultででてくるmenuのほうに,MathLinkの sampleをあわせるようにする.

ダイアログについては,何かしかけがあるようなので,調査必要.

(2002.12.1)

MathLinkのDarwin_Carbonについていたダイアログを何とか出すことに成功.これで,OK.あとは,デバッグの時に,ダイアログがでないことだけが問題.これは仕方がないかも. argv_end-argvが,debugの時と,command lineからの時は,1になる.これが,launchと同じ数で,その判別ができない...

init.mでLaunchのturlteの引数を2つつけると

  • arg 1 (command line debug) ->ダイアログあり
  • arg 2 (double click) ->あり
  • arg 3 (launch) ->なし

で判別できる.

TurtleGraphicsとCellularAutomataとMovieDigitizerのOSX versionは出来上がった.

(2002.12.9)

今までOffscreeenを使って画面が他のwindowで消えたりしたとき 書き直していたけれど,OSXでは,ただWindowに書くだけで,updateは 自動的にされる.

これで,いままでのupdateでoffscreenを利用していたものが,みんな いらなくなる.

今日は,Turtle GraphicsをQuartz2Dを使って書き直す. 線とかのギザギザがなくなる.

次の課題は,CellularAutomataもQuartz2Dにすること. これは,現在Quartz2Dでは,画面はでてこない.なにかまずくって Bitmapがえがかれないのだろう???

あと,DrawObjectなどが,no offscreenでうまくいくだろうか...?

どうやって,Carbon版MathLink templateプログラムを作るか.

  1. 新規プロジェクトを選択する
  2. Carbon Applicationを選択する
  3. プロジェクト名をいれる
  4. MathLinkのCompiler Addtionから,mathlink.hを組み込む.
  5. mathlink.frameworkを「フレームを追加」メニューから選ぶ.
    • mathlink.frameworkは,すでにシステムのフレームワークの場所に置いてある.

(2003.6.2)

ずいぶんとOSXのプログラムから遠ざかっていたことがわかる.最近は,ずっとJavaだったもんで. MLで話題になっているアーロンヒレガスのCocoa Programmingを購入.そのうち,CocoaでMathLink templateプログラムが作れるようにしたい.やっぱり,Cocoaでやらないとスマートではないよね,MacOSXなら.Javaも良いんだけど. 問題は,MathLinkのイベントをどう受けるかだ.1つはTeoに教わったTCPのイベントハンドルを組み込む方法.もう1つは,広くん方式でもう1つのプロセスを走らせる.

まずは,Basic_RAELがあたらしいMathLinkですこし動きがおかしいので,これをDialogなんかがうまく同期できるように,ML_Dialogからもらって修正して,その後 Cocoaに組み込んだらどうだろうか.

(2004.9.20)

新しいMathLinkライブラリでLinkしようとしたら,

/usr/bin/ld: Undefined symbols:
_MLDontPermit_darwin
_MLPermit_darwin

のリンクエラーが出た.framework.mathlinkをリンクするとエラーはでない.ただし,このframework.mathlinkは古い.また,出来上がったmathlinkプログラムのダイアログも,linkconnectは出るが,その前のlinklistenの方のダイアログがパっとあらわれて次のダイアログに なるようなので,何か動きがおかしい.これは,10.3.5とmathlinkの相性の問題のよう.Wolframは,もうmathlink.frameworkはサポートしないのかもしれない... MovieDigitizerも,そろそろJLink版に移行すべきだろう.


このページの著作権は,すべて宮地 力に所属します.
もし,内容を利用される場合は,宮地までメールにて,ご連絡ください.
また,このページへのリンクは,フリーです.