明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 5464|回复: 11

(VLAX-CREATE-OBJECT "MSCOMDLG.COMMONDIALOG")返回值为空?

[复制链接]
发表于 2008-12-30 14:50:00 | 显示全部楼层 |阅读模式
本帖最后由 作者 于 2008-12-30 15:31:10 编辑

(VLAX-CREATE-OBJECT "MSCOMDLG.COMMONDIALOG")返回值为什么有时候为空?造成后面的程序执行不下去

有的机器可以,有的机器不可以

发表于 2022-4-4 01:20:31 | 显示全部楼层
oyxx1023 发表于 2008-12-31 12:25
翻过,都是无解.有人说是控件未授权的原因.用comdlg32.ocx必须要装MS的开发工具才能使得(VLAX-CREATE-OBJECT ...

http://bbs.mjtd.com/thread-183398-1-1.html这个高老大的,确可以运行。我看里面也是采用通用对话框
发表于 2008-12-31 08:40:00 | 显示全部楼层

(vlax-create-object "UserAccounts.CommonDialog")

用这个也一样的

 楼主| 发表于 2008-12-31 11:10:00 | 显示全部楼层
useraccounts貌似只能适用于叉P哦.
发表于 2008-12-31 11:23:00 | 显示全部楼层

那就先注册一下控件

论坛原来有讨论可以翻翻

 楼主| 发表于 2008-12-31 12:25:00 | 显示全部楼层
翻过,都是无解.有人说是控件未授权的原因.用comdlg32.ocx必须要装MS的开发工具才能使得(VLAX-CREATE-OBJECT "MSCOMDLG.COMMONDIALOG")可以得到正确结果.
useraccounts试了一下,得不到想要的结果 .不知啥原因,选择多个文件时只能得到路径.vbs代码如下:
  1. Set objDialog = CreateObject("UserAccounts.CommonDialog")
  2. objDialog.Filter = "dwg|*.dwg|All Files|*.*"
  3. objDialog.Flags = 1574404
  4. objDialog.FilterIndex = 1
  5. objDialog.InitialDir = "C:"
  6. intResult = objDialog.ShowOpen
  7. If intResult = 0 Then
  8.      Wscript.Quit
  9. Else
  10.      Wscript.Echo objDialog.FileName
  11. End If
复制代码
发表于 2009-1-1 17:08:00 | 显示全部楼层
 楼主| 发表于 2009-1-2 10:51:00 | 显示全部楼层

楼上贴的贴子早看过了的.

也解决不了问题,COMDLG32.OCX非得要装了VB才能用.拷过来注册掉也是用不了的.

发表于 2009-1-2 12:03:00 | 显示全部楼层

加入下面一句就行了

(vl-registry-write
"HKEY_CLASSES_ROOT\\Licenses\\4D553650-6ABE-11cf-8ADB-00AA00C00905"
""
"gfjmrfkfifkmkfffrlmmgmhmnlulkmfmqkqj"
)

 

 楼主| 发表于 2009-1-2 22:19:00 | 显示全部楼层

如果没授权的话用楼上的方法一样不行.

发表于 2014-12-17 14:07:03 | 显示全部楼层
按8楼的成功了, 厉害,本来我的程序里有这句,后来以为没用给删除了,再用就提示没安装控件,弄了一下午,终于OK了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-9-29 11:38 , Processed in 0.175189 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表