Use Dynamic Data Exchange with Wine

Questions about Wine on Linux
Locked
rfe
Newbie
Newbie
Posts: 4
Joined: Sat Jul 10, 2021 10:13 am

Use Dynamic Data Exchange with Wine

Post by rfe »

Hi, this is a crosspost from superuser.com, since I think this question fits here better and I did not find a rule forbidding it.

I have a very old Windows application that was written in Visual Basic 6.0 and performs communication via Dynamic Data Exchange (DDE) between the main application and a sub-application (second .exe) which is started by the main application.

I want to run this application with Wine. So far, I have installed wine and winetricks and have installed the VB6 dependencies via winetricks vb6run. Everything is running flawlessly except for when the DDE communication is attempted.

The main application is able to start the sub-application, but both application raise an error ("Foreign application won't perform DDE method or operation" for the main app).

I am using Manjaro Linux with wine-6.10.

How can I debug this problem and enable the applications to talk via DDE?
jkfloris
Level 12
Level 12
Posts: 3136
Joined: Thu Aug 14, 2014 10:10 am

Re: Use Dynamic Data Exchange with Wine

Post by jkfloris »

How can I debug this problem
Often there are clues what went wrong in the terminal output:
https://wiki.winehq.org/Wine_User%27s_G ... mmand_line
What is the name of the program? This will make it easier to figure out what is going wrong.
rfe
Newbie
Newbie
Posts: 4
Joined: Sat Jul 10, 2021 10:13 am

Re: Use Dynamic Data Exchange with Wine

Post by rfe »

jkfloris wrote: Sun Jul 11, 2021 6:31 am
How can I debug this problem
Often there are clues what went wrong in the terminal output:
https://wiki.winehq.org/Wine_User%27s_G ... mmand_line
What is the name of the program? This will make it easier to figure out what is going wrong.
Thanks for the reply. Sadly, this is an unpublished application of a programmer that wishes to leave Windows behind. The console output is very brief.

I could take a look at the source code though, sorry for not mentioning that.

Is DDE something that usually works with Wine?
rfe
Newbie
Newbie
Posts: 4
Joined: Sat Jul 10, 2021 10:13 am

Re: Use Dynamic Data Exchange with Wine

Post by rfe »

Hi again,

I think I misunderstood something before, I now pasted the console output of wine here. As you can see, the only DDE related message is related to DdeUninitialize at the very bottom.

I also tried debugging the problem with a simpler example. For this purpose, I downloaded a DDE Sample from this VB forum thread. I can supply the two EXE files if someone wants that. The applications are able to communicate on a Windows PC, but unable to communicate via Wine. On Linux, the client application crashes with the message "Run-time error '-2147024882 (8007000e)': Out of memory". The server application displays a LinkError. The full console outputs of the programs can be found here (client) and here (server). There are more DDE related messages in these logs.

I also tried to at least find the DLL which causes the problems to attempt to debug that, but I only found the "~/.wine/drive_c/windows/system/ddeml.dll" and renaming that to something else doesn't change the behaviour at all, so I guess that isn't it?
jkfloris
Level 12
Level 12
Posts: 3136
Joined: Thu Aug 14, 2014 10:10 am

Re: Use Dynamic Data Exchange with Wine

Post by jkfloris »

I can supply the two EXE files if someone wants that.
No idea if I can get the programs to work, but I want to try.
I also tried to at least find the DLL which causes the problems to attempt to debug that, but I only found the "~/.wine/drive_c/windows/system/ddeml.dll" and renaming that to something else doesn't change the behaviour at all, so I guess that isn't it?
If you don't want to use a dll file, use:

Code: Select all

WINEDLLOVERRIDES=ddeml=d wine <program.exe>
rfe
Newbie
Newbie
Posts: 4
Joined: Sat Jul 10, 2021 10:13 am

Re: Use Dynamic Data Exchange with Wine

Post by rfe »

jkfloris wrote: Fri Aug 13, 2021 3:51 pm
I can supply the two EXE files if someone wants that.
No idea if I can get the programs to work, but I want to try.
Thanks for the offer! I uploaded the two files here. I hope the choice of file sharer is okay. The link will stay active for 30 days. Keep in mind that I did not create the application and that the source can be found in my post above.
Locked