|
-
Jun 20th, 2001, 10:24 AM
#1
Thread Starter
Fanatic Member
Simple DLL question
Hi.
I would like to create a program in a client/server setup in which many different users access the same DLL. I want to be able to change this DLL and the effect will be reflected on all of the client machines.
I created the app and the DLL (which was compiled on the network). The application works fine on my system, but it won't work on any of the other client machines. The error message says "Active X can't create component." etc.
I don't understand why this message is occurring because the program is set to reference the DLL on the network and not any particular client machine.
Does anyone know how to fix this?
Thx.
-
Jun 20th, 2001, 10:26 PM
#2
Addicted Member
-
Jun 20th, 2001, 11:43 PM
#3
Thread Starter
Fanatic Member
Thanks ELampman,
I'll try it out tomorrow.
-
Jun 21st, 2001, 09:13 AM
#4
Thread Starter
Fanatic Member
Still searching for a solution ....
Hi.
Just wanted to let you all know that I still haven't been able to solve this problem.
I decided to add another post to the thread that ELampman suggested I check out. To see that thread, click here.
Thanks.
-
Jun 22nd, 2001, 06:42 AM
#5
Guys, have you changed the interface of the DLL?
-abhijit
Everything that has a computer in will fail. Everything in your life, from a watch to a car to, you know, a radio, to an iPhone, it will fail if it has a computer in it. They should kill the people who made those things.- 'Woz'
save a blobFileStreamDataTable To Text Filemy blog
-
Jun 22nd, 2001, 06:48 AM
#6
i don't know what your talking about?
-
Jun 22nd, 2001, 12:55 PM
#7
Thread Starter
Fanatic Member
Hi.
If you figure out how to setup the dlls on the network and access them from each computer please let me know ( [email protected]). Thanks. Good luck. Are you using MTS?
Jelsner, I'll let you know if I come up with something. However, I was hoping that someone who has solved this problem would post a solution here, since I haven't been able to figure it out. And No, I'm not using MTS.
Guys, have you changed the interface of the DLL?
abhijit, I don't know what you are referring to. Will you please be more specific?
-
Jun 22nd, 2001, 01:34 PM
#8
Addicted Member
I think what he is referring to is that if you are maintaining binary compatibility in your ActiveX DLL, you can add functionality, but you can't take it away, or you break compatibility, and the interface will no longer work.
-
Jun 23rd, 2001, 04:28 AM
#9
Has anyone ever done that before, used a dll not on a client machine? I thought dlls always had to be registered on the machine first but I am probably wrong.
Actually try dimming the object after the dll registry code executes:
VB Code:
Dim obj As Object
Set obj = CreateObject("clsPassword")
I don't know the details of your dll but the class name and object name should be the string in the createobject method.
-
Jun 26th, 2001, 03:56 AM
#10
You're basically trying to use the DCOM services.
So, you need to use CreateObject, and pass in the server name:
Set lobjMyDLL = CreateObject("TestDLL.TextClass", "TheServer")
That's the theory. Unfortunately, I have only ever got this going once, and have been unable to replicate that again
Ifyou go to MS, look for the Coffee sample which is an example of this style of instantiation. It's a bit more involved than just coding, particularly when you have to work with Win95 clients
- gaffa
-
Jun 26th, 2001, 08:18 AM
#11
Thread Starter
Fanatic Member
Everyone,
Thanks for the feedback. I've given up trying to figure this out. I guess you would need DCOM installed in order to do this "right"?
Thanks again.
-
Jun 26th, 2001, 08:53 AM
#12
New Member
A dll is an in-process component. So, it needs a surrogate process to start in. Either you change the dll into an ActiveX exe or register the dll as an MTS component.
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|