0

CCL-Cocoa ブリッジ用に Clozure が提供する「hello world」スクリプトを実行しようとしています。

https://trac.clozure.com/ccl/wiki/CocoaBridge

これらのフォームを含むファイルをロードし、評価 (show-red-window) すると、赤いウィンドウが表示されます。

red-window.ccl
(in-package "CL-USER")

(require "COCOA")

(defclass red-view (ns:ns-view)
  ()
  (:metaclass ns:+ns-object))

(objc:defmethod (#/drawRect: :void) ((self red-view) (rect :<NSR>ect))
  (#/set (#/redColor ns:ns-color))
  (#_NSRectFill (#/bounds self)))

(defun show-red-window ()
  (ccl::with-autorelease-pool
   (let* ((rect (ns:make-ns-rect 0 0 300 300))
      (w (make-instance 'ns:ns-window
                :with-content-rect rect
                :style-mask (logior #$NSTitledWindowMask
                           #$NSClosableWindowMask
                           #$NSMiniaturizableWindowMask)
                :backing #$NSBackingStoreBuffered
                :defer t)))
     (#/setTitle: w #@"Red")
     (#/setContentView: w (#/autorelease (make-instance 'red-view)))
     (#/center w)
     (#/orderFront: w nil)
     (#/contentView w))))

しかし、実行ccl64して入力すると

(load "red-window.ccl")
(show-red-window)

端末で次の出力を取得します。

#<RED-VIEW <RedView: 0x4cd530> (#x4CD530)>

他に何も起こらないようです。

何か不足していますか?私はCLとココアの両方が初めてです。

4

1 に答える 1