1. Rainer Reuß
  2. PowerBuilder
  3. Thursday, 12 July 2018 14:41 PM UTC

Hello.

We have two PowerBuilder applications which communicate via DDE. When MS Word or MS Excel is running, the application stops when executing the command OpenChannel(). It only waits, there is no crash, error or some return code. As soon as I stop Word, our application continues and works fine.

OS is Windows Server 2008 Enterprise SP1, 64bit

IDE is PowerBuilder 2017 R2 Build 1769 (but the same behavior with 12.5)

There is no difference between code generate option 32 and 64 bit.

Does anybody have a clue?

Regards,
Rainer

 

Chris Pollach @Appeon Accepted Answer Pending Moderation
  1. Tuesday, 3 September 2019 15:01 PM UTC
  2. PowerBuilder
  3. # 1

Hi Rainer;

  DDE was deprecated in MS-Windows 7 around the 2007 time frame. You would have to recode this area using the "SHCreateShellItemArrayFromDataObject" command instead.

FYI:  https://docs.microsoft.com/en-us/windows/win32/shell/context-menu-handlers

  Going with Roland's WinSock approach (as you already have) would be better for PB to PB communications. Then OLE to MS-Office.

Regards ... Chris

Comment
There are no comments made yet.
Miguel Leeuwe Accepted Answer Pending Moderation
  1. Tuesday, 3 September 2019 09:39 AM UTC
  2. PowerBuilder
  3. # 2

Many years ago I used DDE with great ease and success, then like 8 years ago I tried using it again and never could get anything to work. I'm not sure if that's to blame on windows or powerbuilder, but it just stopped working as expected.

So I decided to step away from it and like others say, use OLE or winsock.

 

Just to let you know.

Comment
  1. Roland Smith
  2. Tuesday, 3 September 2019 12:54 PM UTC
Microsoft disabled DDE in Office in the December 2017 Security Update. It appears that an Office product may be blocking all DDE activity, not just its own.
  1. Helpful
  1. Rainer Reuß
  2. Tuesday, 3 September 2019 14:13 PM UTC
I also think that Office blocks DDE, but the problems started long before December 2017.



Meanwhile, I have rewritten all our PowerBuilder programs to use Winsock.
  1. Helpful
There are no comments made yet.
Aniesh Nanu Accepted Answer Pending Moderation
  1. Tuesday, 3 September 2019 04:03 AM UTC
  2. PowerBuilder
  3. # 3

Hello,

 

We have similar issue. We have two Powerbuilder applications communicate via DDE. PB application hangs on and waiting for OUTLOOK.exe to get closed. immediately after closing the outlook, application starts running. 

it happens on 64 bit PCs. Win 7 and Win 10 64 bit PCs. 

how to resolve this issue?

we may not want to deploy as 64 bit application as there are many 32 bit dlls used inside. 

 

Thanks for help.

Best Regards,

Aniesh Nanu

Comment
There are no comments made yet.
Roland Smith Accepted Answer Pending Moderation
  1. Friday, 13 July 2018 14:15 PM UTC
  2. PowerBuilder
  3. # 4

How about using Winsock to communicate. Here is an example:

http://www.topwizprogramming.com/freecode_winsock.html

 

Comment
There are no comments made yet.
Roland Smith Accepted Answer Pending Moderation
  1. Friday, 13 July 2018 12:49 PM UTC
  2. PowerBuilder
  3. # 5

Maybe you should be using OLE to control Word & Excel. Microsoft issued an update in December that disables DDE for security reasons.

Comment
  1. Rainer Reuß
  2. Friday, 13 July 2018 13:10 PM UTC
Sorry, but I don't want to control Word or Excel. We have two PB-app which have to communicate among them - not with Word (or Excel).
  1. Helpful
There are no comments made yet.
Rainer Reuß Accepted Answer Pending Moderation
  1. Friday, 13 July 2018 10:44 AM UTC
  2. PowerBuilder
  3. # 6

BTW

It also happens if I use GetRemote() for a single DDE request (cold link). My app hangs at GetRemote() and as soon as I quit Word, it continues.

Comment
There are no comments made yet.
Rainer Reuß Accepted Answer Pending Moderation
  1. Friday, 13 July 2018 07:39 AM UTC
  2. PowerBuilder
  3. # 7

Hi Chris.

Thanks for the suggestions. Unfortunately, the task manager in Windows Server 2008 doesn't have the option Analyze Wait Chain. I will try Spy++, but I have to wait for our admin to download an install it.

But I am sure it is definitely Word that blocks my PB-app when opening a DDE-communication with OpenChannel().

Regards,
Rainer

Comment
There are no comments made yet.
Chris Pollach @Appeon Accepted Answer Pending Moderation
  1. Thursday, 12 July 2018 15:14 PM UTC
  2. PowerBuilder
  3. # 8

Hi Rainer;

  I have two suggestions:

1) Check in Task Manager to see what your App is waiting on (Analyze Wait Chain) ...

2) Use the latest version of SPY++ as it contains the old DDESPY.exe functionality ...

FYI: https://msdn.microsoft.com/en-us/library/dd460756.aspx

 

HTH

Regards ... Chris

Comment
There are no comments made yet.
  • Page :
  • 1


There are no replies made for this question yet.
However, you are not allowed to reply to this question.