VB6 ActiveX DLL问题 [英] VB6 ActiveX DLL Problem

查看:148
本文介绍了VB6 ActiveX DLL问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述





我在服务器上部署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.

    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:

    1. To buy a bigger whip and whip harder.
    2. To hire an expert who can help in the dead horse study.
    3. To exchange opinions with other riders who had similar experience.
    4. To improve horse grooming.
    5. To take a training course "Mastering Horse in Ten Days".
    6. To convince yourself in the importance of mastering the horse in modern society.
    7. To convince yourself that a horse is not dead but is currently sleeping.
    8. To buy a book on horse speed optimization.
    9. 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屋!

    查看全文
    登录 关闭
    扫码关注1秒登录
    发送“验证码”获取 | 15天全站免登陆