用VC写了一个COM组件,用asp去调用组件和用VB去调用有何区别,为何VB可以,ASP就出错??

时间:2022-06-01 14:03:27
现象:
用VC写了一个COM组件,

用ASP可以创建偶这个组件的实例,也可以执行该实例的多数方法,然而有一个方法却不可执行。执行该方法时,报错:出现异常。注:该方法不带参数,作用为在内存画一个图片。

但这个组件的用法在VB的程序中是全部通过的。

问题:
VB调用组件和ASP调用组件会有哪些差别,才会造成这种情况。他们的代码也几乎一样啊。

NOTE:
1。访问asp的权限是管理员权限,COM的dll文件也是对everyone开放。
2。asp中调用该组件方法的步骤和vb中的步骤是完全一样的。

望高手赐教。高分候!!!!

12 个解决方案

#1


中间经过了IIS(或者别的Web服务程序),可能有些接口还是被限制使用了的,跟直接用vb调用还是有区别的

#2


ASP调用的组件不能够使用界面等一些特殊的东西,而VB是可以调用的,你看看你的组件里面使用了什么特殊的,不符合服务器端运行的。

#3


有一个方法不能执行?

说说这个方法主要是实现的什么?
是和图像合成后再输出到Web页面上面有关么?

#4


这个方法的作用是在内存中画一个图片,然后调用另一个方法WriteImage()把该图片生成jpg文件,供前台浏览。

#5


把代码贴出来

#6


talentboy:组件并没有执行界面相关的操作

#7


组件并没有执行界面相关的操作?


说说你是怎样把内存的位图输出到页面上的呢?


Response.ContentType = "image/jpg"

#8


to  dsclub(兀儿 - *) (:
调用另一个方法WriteImage()把该图片生成jpg in HDD disk

#9


vc写的东西在asp支持不是很好
同样的东西,你还是看看aspx吧
这些东西不看到代码很难说怎么样

#10


是不是这样子的:

由DLL在内存合成图片再在硬盘上保存为一个JPG文件,然后WirteImage方法返回这个文件的路径?

如果是这样的话,你可以Response.Write一下路径看看,看看是否正确的?


如果,是在完事后就把文件Kill了,那先别删它!也许是图片格式不正确…………



继续关注

#11


谢谢楼上的帮忙,特别是dsclub(兀儿 - *) 的热心。

后来发现是一个内存错误,但还是没解决问题。

最后用wshshell来执行exe文件这样来达到了目的。

揭帖。

#12


不会用旧说不会用,还这么多借口,vc,vb开发web程序都好用

#1


中间经过了IIS(或者别的Web服务程序),可能有些接口还是被限制使用了的,跟直接用vb调用还是有区别的

#2


ASP调用的组件不能够使用界面等一些特殊的东西,而VB是可以调用的,你看看你的组件里面使用了什么特殊的,不符合服务器端运行的。

#3


有一个方法不能执行?

说说这个方法主要是实现的什么?
是和图像合成后再输出到Web页面上面有关么?

#4


这个方法的作用是在内存中画一个图片,然后调用另一个方法WriteImage()把该图片生成jpg文件,供前台浏览。

#5


把代码贴出来

#6


talentboy:组件并没有执行界面相关的操作

#7


组件并没有执行界面相关的操作?


说说你是怎样把内存的位图输出到页面上的呢?


Response.ContentType = "image/jpg"

#8


to  dsclub(兀儿 - *) (:
调用另一个方法WriteImage()把该图片生成jpg in HDD disk

#9


vc写的东西在asp支持不是很好
同样的东西,你还是看看aspx吧
这些东西不看到代码很难说怎么样

#10


是不是这样子的:

由DLL在内存合成图片再在硬盘上保存为一个JPG文件,然后WirteImage方法返回这个文件的路径?

如果是这样的话,你可以Response.Write一下路径看看,看看是否正确的?


如果,是在完事后就把文件Kill了,那先别删它!也许是图片格式不正确…………



继续关注

#11


谢谢楼上的帮忙,特别是dsclub(兀儿 - *) 的热心。

后来发现是一个内存错误,但还是没解决问题。

最后用wshshell来执行exe文件这样来达到了目的。

揭帖。

#12


不会用旧说不会用,还这么多借口,vc,vb开发web程序都好用