please confirm: DLL or COM ?

As far I know, a normal DLL can not be shared between two Applications on two different Computers on a LAN. The Application on the Server is an NT-Service made in Delphi and the Client a simple VB-Application. Now I need some Interface for Communication. First I rhought of an API-Interface DLL, then I remember that this *probably* won't work, because DLLs can be used locally only. Instead I might have to implement a COM-Server in either the DLL or the NT-Service EXE itself.

Is that right ?
LVL 2
omsecAsked:
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.

mhervaisCommented:
you would have to implement DCOM and not com.

because as far as I know, COM is local too.

I think you are taking the problem by the wrong end. If you want to connect two applications on different machine, the simpler would be to use TCPIP sockets and to implement some kind of a protocol between them.

you can see such demos in the delphi demos internet\...
message
or msg
or stream
or strm

the client being VB, you could make a component in delphi to implement this protocol, and transform it into an activex

regards, Marc
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
omsecAuthor Commented:
uhm..i was thinking about sockets, but im not really sure if i want to do it this way. As I mentioned, the EXE is a Windows NT-Service, and I don't know if there are any additional restrictions given, like no visual Forms.

The Programs have to communicate quite a lot, a COM-Server would be cool to exchange Variables and provide an API
0
omsecAuthor Commented:
juszt to make sure, its not possible to specify the machine-name in the DLL-Import Declaration ?

eg.
function blah(...)
  external '\\\Machine\WinNT\System32'
or something like that, right ?

If I have a COM-Server and a COM-Client (or maybe DCOM as the Case maybe) I should not have to deal with the Low-Level Network/Protocol Stuff, since Windows deals with that. All I have to do is just referring to the GUID, right ?
0
mhervaisCommented:
omsec,
you give three points for your question.

I told you how I'd to it

I would run on NT a tcp-ip server on a dedicated protocol, and on th client a com home made from delphi component accepting your protocol.

I could also communicate thru a sgbd this is simple, or maybe from ado components (to investigate)

I won't loose one more minut on this question, if you don't raise your points

regards, marc
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
Delphi

From novice to tech pro — start learning today.