CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  API

为什么这段代码编译后不能运行?

楼主lnhsgj730828(夏日冷风)2005-08-04 20:31:04 在 VB / API 提问

我的目的是执行用户在文本框中输入的VB代码。并将结果写入数据库中。  
  以下代码在VB环境中可正常运行,编译后运行出错。  
  出错信息是:应用程序出现错误,正在生成日志。  
  日志内容(原文):  
  “应用程序     产生了一个应用程序错误   此错误发生在   08/03/2005   @   12:00:24.648   所产生的意外情况为   c0000005,在地址   0FA916F9   (EbMode)处”  
   
  我用的是 Win2k   adv   s   +sp4+vb6+sp6  
   
  1、请问该如何改进?  
  2、有没有其他解决方法?  
   
  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  
   
  Function   RunCode(ByVal   cmd   As   String)   As   Long  
          Dim   TCmd()   As   String  
          Dim   Ti   As   Long  
          Dim   Tl   As   Long  
   
          TCmd   =   Split(cmd,   Chr(13)   +   Chr(10))  
          For   Ti   =   0   To   UBound(TCmd())  
                  Tl   =   EbExecuteLine(StrPtr(ByVal   TCmd(Ti)),   0,   0,   0)  
                  Text1(1).Text   =   Text1(1).Text   &   CStr(Tl)   +   ":"   +   TCmd(Ti)   &   Chr(13)   &   Chr(10)  
          Next  
  End   Function  
   
  Private   Sub   Command1_Click()  
          RunCode   Text1(0).Text  
  End   Sub  
   
  Private   Sub   Form_Load()  
          Dim   Tstr   As   String  
          Tstr   =   Tstr   &   "'请在此输入VB代码   "   &   Chr(13)   &   Chr(10)  
          Tstr   =   Tstr   &   "dim   a   as   long,b   as   long,c   as   long"   &   Chr(13)   &   Chr(10)  
          Tstr   =   Tstr   &   "a="   &   3   &   Chr(13)   &   Chr(10)  
          Tstr   =   Tstr   &   "b="   &   5   &   Chr(13)   &   Chr(10)  
          Tstr   =   Tstr   &   "c="   &   2   &   Chr(13)   &   Chr(10)  
          Tstr   =   Tstr   &   "clipboard.settext   (a+b)/c"   &   Chr(13)   &   Chr(10)  
          Tstr   =   Tstr   &   "msgbox   Clipboard.GetText"  
          Text1(0).Text   =   Tstr  
          Text1(1).Text   =   ""  
  End   Sub  
   
  问题点数:20、回复次数:4Top

1 楼londywolf(小狼)回复于 2005-08-04 23:38:01 得分 0

http://www.tek-tips.com/viewthread.cfm?qid=97332  
  不幸的消息  
  只能用在ide环境下Top

2 楼zhujiechang(小朱)回复于 2005-08-05 17:39:44 得分 0

上边的链接虽说是不能在编译环境下运行,但也提供了一种变通的方法。  
  Dim   tempStr   As   String  
          Dim   wscript   As   ScriptControl  
           
          Set   wscript   =   New   ScriptControl  
          wscript.Language   =   "vbscript"  
           
          tempStr   =   "Msgbox   "   &   Chr(34)   &   "TEST"   &   Chr(34)  
   
          wscript.ExecuteStatement   tempStrTop

3 楼londywolf(小狼)回复于 2005-08-06 23:09:13 得分 0

这种所谓的变通其实就是调用脚本语言吧?Top

4 楼lnhsgj730828(夏日冷风)回复于 2005-08-10 17:50:36 得分 0

引用脚本控件我也试过,但我不知道在控件中该如何引用数据库中的字段进行计算,并将计算结果写回数据库?请各位朋友写出关键代码。谢谢!Top

相关问题

  • VB本机代码编译能不能在别的电脑上运行?
  • 该代码编译后无法运行
  • 《core java》上的一段代码,能编译,但是不能运行,一运行就抛出异常。
  • 编译不能运行
  • 大家来看看我这段代码,为什么编译没有错误,却不能运行
  • 用c语言写的一段显示图形的代码。编译通过但不能运行
  • 求救!我的Socket程序在动态编译下能通过,但在静态编译后却不能运行!代码如下,高手进来看。
  • bcb能不能编译c++源代码。
  • 请问如何用EMACS编译调试运行C代码?
  • ASP.NET 代码编译时成功,运行时出错,为什么?

关键词

  • 代码
  • 编译
  • 应用程序
  • ti
  • 数据库
  • vb
  • tstr
  • tcmd
  • chr
  • wscript

得分解答快速导航

  • 帖主:lnhsgj730828

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo