VB6 ActiveX DLL问题 [英] VB6 ActiveX DLL Problem
问题描述
我在服务器上部署VB ActiveX DLL时遇到一些问题。
我有工作它运行存储过程。作业和SP与DLL位于同一服务器上。使用此存储过程,我使用sp_oacreate和sp_oamethod访问DLL中的类(以及这些类中的方法)。
部署了DLL的应用程序是在另一台服务器上并且在VB6.0中
现在我修改了这个应用程序的一个小代码并创建了另一个DLL。
我想把我的DLL放在服务器上通过替换旧的。
为此,我使用REGSVR32 / u取消注册旧DLL,然后在那里注册我的DLL。
但是我没有得到结果。即使我修改过的代码会在源代码所在的机器上产生结果。
我运行了SQL事件探查器并捕获了一个在错误表中输入错误的查询。 />
错误是:clsRoll.CheckSchedulesItem在对应于请求的名称或序号的集合中找不到。
我的DLL名称是GMSAutoRoll.dll
clsRoll是一个类文件,CheckSchedules是一个类中的方法,它是公开的。
请帮助!!!
这真的很紧急......
这是一个更多的解决方案CHill60我不想挫败,而不是OP,但我相信我的答案对几乎每个人都非常有用,特别是那些使用VB6的人。
民间智慧说:怎么样一匹死马?
即使看起来如果马死了,使用其他更合适的马也是最好的策略,很多人在这种情况下使用替代策略多年来,当谈到使用一些软件产品时。
以下是人们用来装马的策略:
li>购买更大的鞭子和鞭子。 聘请可以帮助参加死马研究的专家。 交换 参加培训课程十天掌马。 说服 让自己相信马没有死,但目前正在睡觉。 购买一本关于马速优化的书。 如果上述所有措施都不起作用:宣布死马更舒服。
I有人认为这个答案不够完美,我很乐意同意。就在我忘记这些问题和评论的那一刻,我看到了这个轶事。事实上,这个类比非常纯粹:实际上,我们正在讨论出生的死马以及未能注意到它的人。
参见:对此问题的第二个评论:声明预期错误 [ ^ ] by Christian Graus 。
快乐骑行!
< DD> -SA
Hi,
I am facing some problems in the deployment of my VB ActiveX DLL on a server.
I have a job which runs a stored procedure. The job and the SP are on the same server as the DLL. Using this stored procedure I access the classes (and the methods in those classes) in DLL by using the sp_oacreate and sp_oamethod.
The application, whose DLL is deployed, is on another server and is in VB6.0
Now I have modified a small code of this application and created another DLL.
I want to place my DLL there on the server by replacing the old one.
For this I unregistered the old DLL by using REGSVR32 /u and then registered my DLL there.
but I am not getting the result. Even though the code which I have modified gives results on the machine where the source code is present.
I ran the SQL Profiler and caught a query which was making an error entry in an error table.
The Error is:clsRoll.CheckSchedulesItem cannot be found in the collection corresponding to the requested name or ordinal.
the name of my DLL is GMSAutoRoll.dll
clsRoll is a class file and CheckSchedules is a method in the class and it''s public.
Please Help!!!
It''s really urgent....
This is a solution more for CHill60 who I don''t want to frustrate, rather than for OP, but I''m sure my answer will be pretty useful for nearly everyone, especially for those using VB6.
Folk wisdom says:How to mount a dead horse?
Even though its seems that, if a horse is dead, using some other, more suitable horse would be the best strategy, a lot of people in such situation use alternative strategy for many years, when it comes to using some software products.
Here are those strategies used by people to mount a dead horse:
- To buy a bigger whip and whip harder.
- To hire an expert who can help in the dead horse study.
- To exchange opinions with other riders who had similar experience.
- To improve horse grooming.
- To take a training course "Mastering Horse in Ten Days".
- To convince yourself in the importance of mastering the horse in modern society.
- To convince yourself that a horse is not dead but is currently sleeping.
- To buy a book on horse speed optimization.
- If all of the above did not work: to declare that the dead horse is "more comfortable".
If someone thinks that this answer is less than perfect, I will gladly agree. It''s just so happened that the I saw this anecdote at the moment when I still remembered this questions and comments. In fact, the analogy is pretty pure: in reality, we are discussing the horse which was born dead and people who failed to notice it.
[EDIT] See also: second comment to this question: Declarition Expected Errors[^] by Christian Graus.
Happy riding!
—SA
这篇关于VB6 ActiveX DLL问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!