[Squeak-ja: 2245] Re: プラグイン中のFormのインスタンス変数の値について
Yoshiki Ohshima
yoshiki @ squeakland.org
2005年 1月 10日 (月) 15:29:06 JST
おおしまです。
1ビットのSmallInteger tagがあるからですね。
> TestPlugin>>formTest:
> formTest: aForm
> |width height depth|
> self export: true.
> self primitive: 'formTest' parameters: #(Oop).
> width _ interpreterProxy fetchPointer: 1 ofObject: aForm.
> height _ interpreterProxy fetchPointer: 2 ofObject: aForm.
> depth _ interpreterProxy fetchPointer: 3 ofObject: aForm.
> self cCode: 'printf("%d,%d,%d\n",width,height,depth)'
Formのwidth, height, depthはSmallIntegerのはずなので、
width _ interpreterProxy fetchInteger: 1 ofObject: aForm.
height _ interpreterProxy fetchInteger: 2 ofObject: aForm.
depth _ interpreterProxy fetchInteger: 3 ofObject: aForm.
self cCode: 'printf("%d,%d,%d\n",width,height,depth)'
のようにfetchInteger:ofObject:を使うのが正しいです。
-- Yoshiki
Squeak-ja メーリングリストの案内