Dll's registered using regsvr32

Hi,

I have three dll's (written using visual basic) and one exe that make up an application. If the dll's are registered using COM+ they work fine. However, when they are registered using regsvr32 they cannot be accessed (error message 'Object variable or With block variable not set').
The regsvr32 command succeeds and I have searched the registry for the dll's to make sure they are registered, and they are.
Are there any settings on the dll's that I could have missed? I need to be able to register the components using regsvr32 so using COM+ isn't an option.

Thanks,

Louise
louiserutherfordAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

EDDYKTCommented:
Why don't you use Package & Deployment Wizard to pack your exe?


May be you missing some other dll. Do you use ADO?
0
louiserutherfordAuthor Commented:
I'm not missing any dll's because it works with the dll's registered under COM+.
If I debug the exe I see it go into error when it tries to access one of the methods in the dll.
0
EDDYKTCommented:
Have you set your activex dll and exe in binary compatibility?


From the project property->component tab-> click binary comparibilty

for each project and recompile
0
Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

louiserutherfordAuthor Commented:
Yes, all of the dll's are set to binary comatability.

0
EDDYKTCommented:
are you trying to access mtx object inside your dll?
show us some code?
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
louiserutherfordAuthor Commented:
The dll's were set to 'uses transaction' and 'requires transaction'. They will eventually run under COM+ but need to run under regsvr32 until some firewall changes are made. The idea was to re-register the components under COM+ when the changes have been made. All was working fine until I remade the dll's today.

I have tried setting the dll's to 'Not and mtx object' and remade them. It made no difference.

An example of where it goes into error is:

dim obj x as y
set x = createobject("y")
x.method

If goes into error on the call to the method, but compiles without error and the methods all appear automatically after the '.' when editing the code.
0
EDDYKTCommented:
>>All was working fine until I remade the dll's today.


Looks like you lost compatibility. Have you compiled all exe and dll and make sure all are in binary comatability.
0
louiserutherfordAuthor Commented:
I've recompiled all of the dll's and ensured binary compatability is set. I have also recomited the dll's on another machine just in case there was a problem on my machine. It made no difference.

I agree, it looks as it either binary compatability has been lost or the dll's have not been correctly registered.
0
louiserutherfordAuthor Commented:
I have found the problem, I had code in the objectControlActivate() and objectControlDeactivate() methods, which doesn't get executed when the components are not registered under COM+.

Thanks for all your help.

Louise
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Visual Basic Classic

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.