Lisp HUG Maillist Archive

another question

Hi,

thanks for your quick replies...
it is true that pathname-selector is not documented. I have the version
4.1 and it's not in the manuals. I've found the pathname-selector by
trying with the Interface Builder.
The code of Simon given an error when I change the text-input-pane by a
pathname-selector, and the code of Lieven is what I want, but of course
the difficult part in this moment is how to extract from the interface a
string with the filename (what the "capi:pathname-selector-pathname"
does).
I did not know the way of doing this that Paul. I think I can figuro out
how to adapt his example to my case. Thanks to everybody.
Nevertheless, I still have a question: I do the following

****here it starts******

> (defclass myclass ()
    ((iv :initform "init")))

> (setf myobj (make-instance 'myclass))

> (describe myobj)

#<MYCLASS 20408B8C> is a MYCLASS
IV      "init"

> (slot-value myobj 'iv)
"init"

****till here, everything is ok******
***Now, I do the following*******

> (setf inst (make-instance 'capi:pathname-selector))

> (describe inst)

#<CAPI:PATHNAME-SELECTOR NIL 2041CA8C> is a CAPI:PATHNAME-SELECTOR
PATHNAME                             #P"E:/Miro/library/"
OLD-PATHNAME                         #P"E:/Miro/library/"
DIRECTORY                            #P"E:/Miro/library/"
PARENT-DIRECTORY                     #P"E:/Miro/"
PATHNAMES                            (#P"E:/Miro/library/structure.lisp"
#P"E:/Miro/library/mainwindow.lisp~" #P"E:/Miro/library/mainwindow.lisp"
#P"E:/Miro/library/initmenu.lisp"
#P"E:/Miro/library/importertester.lisp~"
#P"E:/Miro/library/importertester.lisp"
#P"E:/Miro/library/importer.lisp" #P"E:/Miro/library/firststructure.st"
#P"E:/Miro/library/defsystem.lisp~" #P"E:/Miro/library/defsystem.lisp")
FILE                                 "E:\\Miro\\library\\"
FILTER                               "*.*"
*********ETC ETC ETC ETC*********

> (slot-value inst 'file)

Error: The slot FILE is missing in #<CAPI:PATHNAME-SELECTOR NIL
2041CA8C>, #<CAP
I:CAPI-CLASS CAPI:PATHNAME-SELECTOR 20A363B4>, when SLOT-VALUEing
NIL,NIL.

********END OF CODE***********

So, why does the slot-value fail in the last case?
If it worked, I would not have the problem of trying to get the filename
from the pathname-selector.

thanks,
kind regards,
Miro Casanova


Re: another question

Miro Casanova <mcasanov@vub.ac.be> writes:

> So, why does the slot-value fail in the last case?

slot-value takes a symbol. As such, you give it cl-user::file but it
wants capi::file.

> If it worked, I would not have the problem of trying to get the filename
> from the pathname-selector.

CL-USER 3 > (setf *inst* (make-instance 'capi:pathname-selector))
#<CAPI:PATHNAME-SELECTOR NIL 214AC22C>

CL-USER 4 > (slot-value *inst* 'capi::file)
"/home/mal/"

You're better off using the defined accessor anyway I think.

CL-USER 5 > (capi::pathname-selector-file *inst*)
"/home/mal/"

-- 
Hai koe, zei de stier,
Kom mee met mij in de wei,
Dan zijn we tweezaam.
Lieven Marchand <mal@wyrd.be>


Re: another question

Unable to parse email body. Email id is 560

Updated at: 2020-12-10 09:01 UTC