[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Working with pointers
- To: info-mcl@cambridge.apple.com
- Subject: Working with pointers
- From: jbk@world.std.com (Jeffrey B Kane)
- Date: Thu, 12 Nov 1992 14:38:17 -0500
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