| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦   
共有 306 人关注过本帖
标题:求助:讨论如何让自己的应用程序支持脚本,生成exe的问题
收藏  订阅  推荐  打印
gugule
Rank: 1
等级:新手上路
帖子:1
积分:114
注册:2008-7-8
求助:讨论如何让自己的应用程序支持脚本,生成exe的问题

我看了董含君先生的文章《讨论如何让自己的应用程序支持脚本》,自己练习做了一个很简单的执行脚本的例子。在VB中用启动按钮执行程序时,没有任何问题。但是用文件-〉生成工程*.exe(K)后,执行这个生成的可执行程序时,会出错,显示一个对话框:“工程*.exe 遇到问题需要关闭。我们对此引起的不便表示抱歉。”另外一个程序则会显示:“找不到vba6.dll文件”。
    我不知道为什么生成了exe文件后,和vb中的运行效果是不一样的。
    这个问题对我而言非常重要,因为我正在做一个软件,而这个执行脚本的功能是必须的一个环节。
    大家是不是可以帮我看一下。
    以下是在工程1中的Form1里的代码:
    (Form1中有四个文本框,Text1输入加数a,Text2输入加数b,Text3输出a+b的和,Text输入公式:a+b,一个按钮Command1)

Private Declare Function EbExecuteLine Lib "vba6.dll" ( _
ByVal pStringToExec As Long, _
ByVal Unknownn1 As Long, _
ByVal Unknownn2 As Long, _
ByVal fCheckOnly As Long) As Long

Private Sub Command1_Click()
   stepline "dim a as long,b as long"
   stepline "a=" & Text1.Text
   stepline "b=" & Text2.Text

   stepline "clipboard.settext " & Text.Text
   Text3.Text = Clipboard.GetText
End Sub

Function stepline(ByVal cmd As String) As Long 'cmd就是vb6代码
   Dim l As Long '临时变量,意义不大
   l = EbExecuteLine(StrPtr(ByVal cmd), 0, 0, 0) '这就是实质,简单吧
   Debug.Print CStr(l) + ":" + cmd '调试用的,无意义
End Function

Private Sub Form_Load()
   Text1.Text = 1
   Text2.Text = 4
   Text.Text = "a+b"
End Sub

    非常感谢大家的帮助!

    我的电子邮箱地址:gugule@163.com

[ 本帖最后由 gugule 于 2008-7-8 18:53 编辑 ]
2008-7-8 18:48
Joforn
Rank: 12Rank: 12Rank: 12
等级:贵宾
帖子:1200
积分:12676
威望:20
注册:2007-1-2

改用script Control吧。这个API好像不能编译后运行。
2008-7-9 13:50
共有 305 人关注过本帖
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.081215 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved