ttthhh_hb
发表于 2005-9-29 23:46:00
<P><FONT face=宋体 size=2>(setq x (vlax-create-object "MSComDlg.CommonDialog") 返回的值为nil啊。</FONT></P>
<P><FONT face=宋体 size=2>后面的语句根本不执行。</FONT></P>
mccad
发表于 2005-9-30 21:46:00
本帖最后由 作者 于 2005-10-1 7:53:01 编辑 <br /><br /> 虽然可以改成<BR>(vlax-put-property x "Flags" (+ 512 524288))<BR>来调用新的打开文件对话框,但返回值一直都调不出来。<BR>但用同样的方法在VBA中使用则没有问题,大家可以看看怎样解决。<BR><BR>主要原因是文件名间的分隔是用chr(0)做为分隔,在LISP无法解决。<BR>而普通老式对话框返回的文件名是DOS式的文件名,所以文件名间的分隔用是的空格为分隔,所以在LISP并无影响。
Ea
发表于 2005-9-30 21:57:00
需要控件支持,返回值为 nil 是因为没有安装通用对话框控件<br>
ttthhh_hb
发表于 2005-10-1 00:14:00
<P>是不是“C:\WINDOWS\system32\comdlg32.ocx"?</P>
<P>如何安装通用对话框控件呢?</P>
afeng0712
发表于 2005-10-1 22:17:00
本帖最后由 作者 于 2005-10-1 22:52:08 编辑
6楼跟7楼的兄弟说可以,我是编LSP程序,怎么运行也是返回NIL啊?需要用,急盼解决!
afeng0712
发表于 2005-10-1 22:54:00
<P>要额外安装也要写在程序中啊,程序要通用嘛!</P>
afeng0712
发表于 2005-10-2 11:27:00
高手们都去哪了啊?快解决呀!
Ea
发表于 2005-10-6 23:25:00
这不是注册问题,MSComdlg需要安装MS的任何开发工具后才可以使用。如果是XP系统还可以使用 <font face="宋体,verdana,arial,helvetica"><font style="font-size: 10pt;" face="宋体,verdana, Airal,Helvetica,Geneva"><font face="courier new">"UserAccounts.CommonDialog"<br>
<br>
</font></font></font><font style="font-size: 10pt;" id="text5" face="宋体,verdana, arial, helvetica">
'MSComDlg.CommonDialog' is a licensed control. It works from client
side IE hosted script only if a Microsoft dev tool (like VStudio) is
installed on the client to provide a design time license.</font><br>
afeng0712
发表于 2005-10-7 14:48:00
<P><A name=60791><FONT color=#0000ff><B>Ea</B></FONT></A>兄,如跟系统有关,那要是用的WIN2K或WIN98系统怎么办呢?我WIN2K注册了那个<FONT face=宋体 size=2>comdlg32.ocx,为什么还是不行?</FONT><BR></P>
Ea
发表于 2005-10-7 18:22:00
comdlg32 在98以上都可以用,你可以先安装vb6然后试试<br>