[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 メーリングリストの案内