2017-05-12 8 views
0

내가 CCL-코코아 다리에 대한 Clozure에 의해 제공되는 "안녕하세요!"스크립트 실행하려고 해요 :CCL 코코아 다리 "hello world"가 작동하지 않습니까?

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

로드 이러한 형태를 포함하는 파일이 평가를 (쇼 - 빨간색 창) , 빨간색 창이 보일 것입니다.

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과 Cocoa를 처음 사용합니다.

답변

1

(gui:execute-in-gui #'(lambda() (show-red-window))) 

마지막으로 업데이트 십년 전에 빨간색 창 예제와 페이지를보십시오. One of the other examples 출신지는 gui:execute-in-gui (으)로 last modified 일 전입니다.