home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!charon.amdahl.com!pacbell.com!ames!data.nas.nasa.gov!taligent!apple!cambridge.apple.com!jbk@world.std.com
- From: jbk@world.std.com (Jeffrey B Kane)
- Newsgroups: comp.lang.lisp.mcl
- Subject: Working with pointers
- Message-ID: <199211121938.AA27396@world.std.com>
- Date: 12 Nov 92 19:38:17 GMT
- Sender: info-mcl-request@cambridge.apple.com
- Lines: 44
- Approved: comp.lang.lisp.mcl@Cambridge.Apple.C0M
-
-
- I've been playing around all morning, trying to get some resources to work properly.
- I need a pointer to an icon (for an icon-dialog-item) so I used the resource package
- to get a handle, but when I try to use the pointer, all sorts of problems occur.
-
- (with-open-resource-file (*my-rsrcs* "Application.rsrc")
- (defparameter *icon-hndl-1* (get-resource "ICON" "Telephone"))
- (defparameter *icon-hndl-2* (get-resource "ICON" "Honda")))
-
- I next try to get a pointer to use by:
-
- (when *icon-hndl-1*
- (#_MoveHHi *icon-hndl-1*)
- (#_HLock *icon-hndl-1*)
- (defparameter *my-icon-ptr* (%hget-ptr *icon-hndl-1*)))
-
- I should now have a locked, dereferenced pointer, but when I use it to define
- and icon-dialog-item I get into trouble:
-
- (setf my-window (make-instance 'ccl::scrolling-window :color-p t))
- (add-subviews my-window (make-instance 'icon-dialog-item
- :icon *my-icon-ptr*
- :view-position #@(50 0)))
-
- Inspecting *my-icon-ptr* shows it to be:
- #<A Mac Handle, Unlocked, Size 40 #x263364>
- as it should be.
-
- The icon drawn is from a garbage pointer, and the machine soon crashes.
-
- Jeffrey
-
- P.S. I know the icon-dialog-item package will use a resouce ID, but I want to
- work with named resources. Also I need to understand this so I can start to get
- some general Mac programming done in MCL.
-
- ======================================
- Jeffrey Kane, MD
- Kane Biomedical Systems
- Boston, MA
-
- Internet jbk@world.std.com
- Compuserve 74206,640
- AppleLink D0738
-