Watch, Follow, &
Connect with Us

For forums, blogs and more please visit our
Developer Tools Community.


Welcome, Guest
Guest Settings
Help

Thread: Is XE7 any better in DCOM on Win 7 32 bit platforms than Delphi 6


This question is not answered. Helpful answers available: 2. Correct answers available: 1.


Permlink Replies: 7 - Last Post: Nov 24, 2014 2:31 AM Last Post By: Vladimir Ulchenko
al nickels

Posts: 173
Registered: 7/16/09
Is XE7 any better in DCOM on Win 7 32 bit platforms than Delphi 6  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Nov 19, 2014 9:49 PM
A few days ago I posted a message in the datasnap group about not being able to get the provider names to show up in clientdatasets when using Delphi 6 on a Win 7 32 bit platform. Apparently there were some significant changes to com in Win 7 that is causing my out of process server executable to not properly register its exported interfaces/methods/classes. I tried everything that I could from using the /regserver parameter to running the program as administrator. I even ran the executable when logged in as administrator. My question is, has this been absolutely fixed in XE7 or are there still workarounds being implemented in the latest Delphi compiler?
Luigi Sandon

Posts: 353
Registered: 10/15/99
Re: Is XE7 any better in DCOM on Win 7 32 bit platforms than Delphi 6  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Nov 20, 2014 1:57 AM   in response to: al nickels in response to: al nickels
al nickels wrote:
My question is, has this been absolutely fixed in XE7 or are there still workarounds being implemented in the latest Delphi compiler?

I guess most of the code in XE7 is identical to the code in D6. Did you check dcomcfg defaults? They were changed to make DCOM more secure.

Anyway, did you also check QC #8814? It's still open after ten years and counting...
Matthew Jones

Posts: 337
Registered: 1/25/98
Re: Is XE7 any better in DCOM on Win 7 32 bit platforms than Delphi 6 [Edit]  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Nov 20, 2014 2:35 AM   in response to: al nickels in response to: al nickels
al nickels wrote:

My question is, has this been absolutely fixed in XE7 or are there
still workarounds being implemented in the latest Delphi compiler?

From what I've read, you can download a working trial of XE7. That's
the only way to know for sure.
Martyn Ayers

Posts: 73
Registered: 10/7/99
Re: Is XE7 any better in DCOM on Win 7 32 bit platforms than Delphi 6  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Nov 20, 2014 3:59 AM   in response to: al nickels in response to: al nickels
For DataSnap (Midas as was), I gave up on DCom in the D5 era - it was just too much trouble to set up and dog-slow once it was. I changed to using Borland's ScktSrvr, which was easy to set up, fast and reliable and never looked back.

In recent Delphi versions, there is an alternate implementation of DataSnap where the socket transport is handled by your DataSnap server, so ScktSrvr is not longer required.

Cheers, Martyn
Luigi Sandon

Posts: 353
Registered: 10/15/99
Re: Is XE7 any better in DCOM on Win 7 32 bit platforms than Delphi 6  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Nov 20, 2014 8:05 AM   in response to: Martyn Ayers in response to: Martyn Ayers
For DataSnap (Midas as was), I gave up on DCom in the D5 era - it was just too much trouble to set up and dog-slow once it was.

As long as you don't understand DCOM, yes.

I changed to using Borland's ScktSrvr, which was easy to set up, fast and reliable and never looked back.

You may be surprised to know that it just acts like a DCOM proxy. DCOM is still used from the socket service to the DCOM server. Just you took DCOM security (authentication, authorization, encryption) and throw all of it away, because:

1) Your DCOM server is invoked using the socket service identity - probably the mighty (and dangerous) localsystem
2) It gets data from DCOM and transmit them in cleartext to your client (you can write a filter - but it won't implement proper security....)
3) Everybody can connect to your socket port and access the DCOM server and call its methods. DCOM instead support full Windows ACLs, down to interface methods...

Moreover, beware of 64 bit data, and other recent data types. They are unsupported.

In recent Delphi versions, there is an alternate implementation of DataSnap where the socket transport is handled by your DataSnap server, so ScktSrvr is not longer required.

And it doesn't implement any security. All of your data in cleartext. Enjoy!

Ah, and don't forget to tell everybody "Windows in not a secure operating system!"
Martyn Ayers

Posts: 73
Registered: 10/7/99
Re: Is XE7 any better in DCOM on Win 7 32 bit platforms than Delphi 6  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Nov 20, 2014 11:42 AM   in response to: Luigi Sandon in response to: Luigi Sandon
I'm not getting into an argument with you. However, you have leapt to a number of wrong assumptions.

1) My server wasn't a DCom server (note the "D"). and Scktrsrvr didn't run on the LocalSystem account.

2) It didn't get its data from DCom. The only place Com (minus the "D") was involved was marshalling data into its client-servicing thread. The data didn't get transmitted in clear text, it was encrypted before ScktSrvr ever saw it and decrypted on the client.

3) You assume, wrongly, that every network is a public network.

As for "don't forget to tell everybody [...]", one might hope that after at least eight attempts, and the litany of security patches in the regular Windows Updates, it has some semblance of security by now.

Anyway, goodbye. You are welcome to the last word.
Luigi Sandon

Posts: 353
Registered: 10/15/99
Re: Is XE7 any better in DCOM on Win 7 32 bit platforms than Delphi 6  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Nov 21, 2014 12:17 AM   in response to: Martyn Ayers in response to: Martyn Ayers
1) My server wasn't a DCom server (note the "D"). and Scktrsrvr didn't run on the LocalSystem account.

Your server is always a DCOM server even if you use Scktrsrvr ... it doesn't matter if you don't use a TDCOMConnection on the client - the remote datamodule you create is a DCOM server.

Good your changed the account - which one you used? Hope it wasn't an administrative account....

2) It didn't get its data from DCom.

It looks you don't understand how Scktrsrvr works...

3) You assume, wrongly, that every network is a public network.

You assume, wholly wrongly, that threats come only from and within public networks.... while insiders are in a far better position to get data they shouldn't....

I hoped it was understood now what threats are and where they come from, still looks when it comes to security too many Delphi developers have really no clue.

Anyway, goodbye. You are welcome to the last word.

Good. Get back to work and secure your applications...
Vladimir Ulchenko

Posts: 248
Registered: 1/12/00
Re: Is XE7 any better in DCOM on Win 7 32 bit platforms than Delphi 6  
Click to report abuse...   Click to reply to this thread Reply
  Posted: Nov 24, 2014 2:31 AM   in response to: Martyn Ayers in response to: Martyn Ayers
On Thu, 20 Nov 2014 03:59:08 -0800, Martyn Ayers <> wrote:

For DataSnap (Midas as was), I gave up on DCom in the D5 era - it was just too much trouble to set up and dog-slow once it was. I changed to using Borland's ScktSrvr, which was easy to set up, fast and reliable and never looked back.

borland socketserver implementation is quite buggy and I had to patch it several times in order to make it work more or less reliably

on the other hand dcom has really efficient resource management (in some aspects) which isn't available in default socket server
implementation and in my tests dcom was really faster

in order to overcome some dcom problems I had to switch to mine socket server implementation offering few unique features but there is lot
of work to change its underlying architecture and implement proper security support

--
Vladimir Ulchenko aka vavan
Legend
Helpful Answer (5 pts)
Correct Answer (10 pts)

Server Response from: ETNAJIVE02