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>
页: 1 [2] 3 4 5 6
查看完整版本: vlisp如何打开多重选择文件对话框