
Anyone ever get a handle on DDEML client server operation?
-
- Addict
- Posts: 1092
- Joined: Sun Jul 25, 2004 4:21 pm
- Location: USoA
Anyone ever get a handle on DDEML client server operation?
My main project could really benefit from use of DDEML but all efforts to get a handle on it escapes me. 

- - - - - - - - - - - - - - - -
Randy
I *never* claimed to be a programmer.
Randy
I *never* claimed to be a programmer.
Re: Anyone ever get a handle on DDEML client server operation?
Little more code ...
My Projects ThreadToGUI / OOP-BaseClass / EventDesigner V3
PB v3.30 / v5.75 - OS Mac Mini OSX 10.xx - VM Window Pro / Linux Ubuntu
Downloads on my Webspace / OneDrive
PB v3.30 / v5.75 - OS Mac Mini OSX 10.xx - VM Window Pro / Linux Ubuntu
Downloads on my Webspace / OneDrive
-
- Addict
- Posts: 1092
- Joined: Sun Jul 25, 2004 4:21 pm
- Location: USoA
Re: Anyone ever get a handle on DDEML client server operation?
Huh???

- - - - - - - - - - - - - - - -
Randy
I *never* claimed to be a programmer.
Randy
I *never* claimed to be a programmer.
Re: Anyone ever get a handle on DDEML client server operation?
I've never used it and yes it does look a little complicated
https://learn.microsoft.com/en-us/windo ... nt-library
What are you doing that you think DDE is the right solution. There are loads of IPC methods you could use
https://learn.microsoft.com/en-us/windo ... nt-library
What are you doing that you think DDE is the right solution. There are loads of IPC methods you could use
Re: Anyone ever get a handle on DDEML client server operation?
Exactly, I feel the same way. I rarely bother to ask honest questions on the forum most of the time, because of this kind of agenda that they have. I've blocked the three of them whom I've seen do it to others, so I just never bother to read their replies.
Re: Anyone ever get a handle on DDEML client server operation?
The original post stated this (emphasis added):PBJim wrote: Tue Sep 17, 2024 12:18 amExactly, I feel the same way. I rarely bother to ask honest questions on the forum most of the time, because of this kind of agenda that they have. I've blocked the three of them whom I've seen do it to others, so I just never bother to read their replies.
People using this forum speak different languages natively and the OP gave one sentence, not even a question.Randy Walker wrote: Mon Sep 16, 2024 9:21 am My main project could really benefit from use of DDEML but all efforts to get a handle on it escapes me.![]()
Here is one interpretation:
If the OP says he has a problem getting a handle then he should post the code that he used to try and get the handle.
Here is a second interpretation of this sentence:
The OP understands nothing about anything dealing with DDEML. In that case he needs to add more information about what he doesn't understand and possibly what little he does understand as well as why he feels his project would benefit from it.
In both cases more information is needed from the original poster. It is a common requirement for such things to be included in the original positing so that someone can give assistance and to give more focus on what may be needed. If the information is not provided it is customary and natural to request it if someone desires to help if they can.
@PBJim: What do you mean by 'an honest question'?
-
- Addict
- Posts: 1092
- Joined: Sun Jul 25, 2004 4:21 pm
- Location: USoA
Re: Anyone ever get a handle on DDEML client server operation?
I could grasp enough about DDE that I understand it is used to allow two apps to communicate between each other. I'm really only looking to send data from one app to the other. Cannot get any useful info on your IPC so you're just talking over my head, like the URL you sent. But thanks for the reply anyway.idle wrote: Mon Sep 16, 2024 11:48 pm I've never used it and yes it does look a little complicated
What are you doing that you think DDE is the right solution. There are loads of IPC methods you could use

I did a web search for DDE example and found a powerbasic example but no clue how to adapt that code. Anytime I run into anything using structures and types, I am immediately lost without working PB sample code. It only covers the DDE client.
https://forum.powerbasic.com/forum/user ... nt-example
- - - - - - - - - - - - - - - -
Randy
I *never* claimed to be a programmer.
Randy
I *never* claimed to be a programmer.
Re: Anyone ever get a handle on DDEML client server operation?
IPC (inter process communications) for windows programs
copy data strucure cds messaging
file mapping
tcp.
Are easy to achieve but if DDE is what you really need it helps to explain what your specific requirements are which might be more beneficial in getting answers abd also helps others too.
DDE looks Like some over complicated ms solution to a problem that can be solved by much simpler means.
Search for copy data structure that might be what you need
copy data strucure cds messaging
file mapping
tcp.
Are easy to achieve but if DDE is what you really need it helps to explain what your specific requirements are which might be more beneficial in getting answers abd also helps others too.
DDE looks Like some over complicated ms solution to a problem that can be solved by much simpler means.
Search for copy data structure that might be what you need
-
- Addict
- Posts: 1092
- Joined: Sun Jul 25, 2004 4:21 pm
- Location: USoA
Re: Anyone ever get a handle on DDEML client server operation?
People using this forum speak different languages natively and the OP gave one sentence, not even a question.Randy Walker wrote: Mon Sep 16, 2024 9:21 am My main project could really benefit from use of DDEML but all efforts to get a handle on it escapes me.![]()
[/quote]
Ah yes. Something I did not take into account when I wrote my OP. I Should have wrote:
"All efforts to try to get an understanding of DDE escapes me."
Here... "get a handle on" = "get an understanding of" but may not translate so well.
Sorry for the confusion.

AND, now I understand what mk-soft was asking when he/she wrote "Little more code", but I have no code since I have NO idea how to begin.
- - - - - - - - - - - - - - - -
Randy
I *never* claimed to be a programmer.
Randy
I *never* claimed to be a programmer.
-
- Addict
- Posts: 1092
- Joined: Sun Jul 25, 2004 4:21 pm
- Location: USoA
Re: Anyone ever get a handle on DDEML client server operation?
BTW = By The Way... The question was in the subject line:People using this forum speak different languages natively and the OP gave one sentence, not even a question.
Anyone ever get a handle on DDEML client server operation?
- - - - - - - - - - - - - - - -
Randy
I *never* claimed to be a programmer.
Randy
I *never* claimed to be a programmer.
Re: Anyone ever get a handle on DDEML client server operation?
here's a CDS example
run without debugger
then run with debugger ; this one will have the window ID of the 1st windows so send from it
run without debugger
then run with debugger ; this one will have the window ID of the 1st windows so send from it
Code: Select all
EnableExplicit
Global mhwnd,apphwnd
Procedure SendToApp(hwnd,type,*mdata)
Protected *cds.COPYDATASTRUCT,str.s
*cds = AllocateMemory(SizeOf(COPYDATASTRUCT))
Select type
Case #PB_String
str = PeekS(*mdata,-1)
*cds\dwData = type
*cds\cbData = StringByteLength(str)
*cds\lpData = @str
EndSelect
SendMessage_(hwnd, #WM_COPYDATA, mhwnd, *cds)
FreeMemory(*cds)
EndProcedure
Procedure WinCallback(hWnd, uMsg, WParam, LParam)
Protected *cds.COPYDATASTRUCT
Select umsg
Case #WM_COPYDATA
*cds = LParam
Select *cds\dwData
Case #PB_String
SetGadgetText(0,PeekS(*cds\lpData,-1))
EndSelect
EndSelect
ProcedureReturn #PB_ProcessPureBasicEvents
EndProcedure
Procedure FindWindowByName(name.s)
Protected hwnd,TitleSize.l,Title.s
hwnd = GetWindow_(GetDesktopWindow_(), #GW_CHILD)
While hwnd
TitleSize.l = GetWindowTextLength_(hwnd) + 2
Title = Space(TitleSize)
GetWindowText_(hwnd, Title, TitleSize)
If FindString(LCase(Title), LCase(name))
If hwnd <> WindowID(mhwnd)
ProcedureReturn hwnd
EndIf
EndIf
hwnd = GetWindow_(hwnd, #GW_HWNDNEXT)
Wend
EndProcedure
Procedure SendString()
Protected str.s = GetGadgetText(0)
If apphwnd = 0
apphwnd = FindWindowByName("Sendit")
EndIf
If apphwnd
SendToApp(apphwnd,#PB_String,@str)
SetGadgetText(0,"")
EndIf
EndProcedure
mhwnd = OpenWindow(#PB_Any,0,0,200,100,"Sendit")
apphwnd = FindWindowByName("Sendit")
EditorGadget(0,10,10,180,30)
ButtonGadget(1,10,50,60,30,"Send url")
BindGadgetEvent(1,@SendString(),#PB_EventType_LeftClick)
SetWindowCallback(@WinCallback(),mhwnd)
Repeat
Until WaitWindowEvent() = #PB_Event_CloseWindow
-
- Addict
- Posts: 1092
- Joined: Sun Jul 25, 2004 4:21 pm
- Location: USoA
Re: Anyone ever get a handle on DDEML client server operation?
Hahaaa I searched "CDS example" on the web and got many hits for "Credit default swap".
I see now looking back at your previous post you were talking about copy data strucure cds messaging.
Well either way. THANKS MUCH for the code sample. It is quite complex. Much more so than I imagined.
- - - - - - - - - - - - - - - -
Randy
I *never* claimed to be a programmer.
Randy
I *never* claimed to be a programmer.
-
- Addict
- Posts: 1092
- Joined: Sun Jul 25, 2004 4:21 pm
- Location: USoA
Re: Anyone ever get a handle on DDEML client server operation?
I did search for copy data structure and got one hit with C++ example but my brain melts just looking at C code.idle wrote: Tue Sep 17, 2024 7:11 am
Are easy to achieve but if DDE is what you really need it helps to explain what your specific requirements are which might be more beneficial in getting answers abd also helps others too.
DDE looks Like some over complicated ms solution to a problem that can be solved by much simpler means.
Search for copy data structure that might be what you need
I have two programs. The main app provides the user access to a customer database, logging and troubleshooting. All the data is shared through an FTP server. The 2nd app is responsible for uploading new data and downloading any files that change on the server, parsing and files as required and building cache files used for reporting in the main app. I have been using Global Atoms to simulate communication between the two apps so the main app can notify the user on progress of the 2nd app. Global Atoms as you might imagine is a very complex and clumsy means of communication. This is a list of my Atoms, basically used as flags to notify the main app as the 2nd app enters each stage of its process. The main app has to constantly monitor Atoms:
; ATOMS INDEX / Main app is oneLook.exe / 2nd app is AutoFTP.exe / 3rd app is Update.exe used to update the first 2 apps.
;GlbX0.W) Does nothing in AutoFTP
;GlbX1.W) ; Cheking server status
;GlbX2.W) ; Downloading files
;GlbX3.W) ; FTP failed (jumps to 11)
;GlbX4.W) ; Decompressing customer and help files
;GlbX5.W) ; Decompressing user history files
;GlbX6.w) ; Parsing customer records
;GlbX7.w) ; Indexing history records
;GlbX8.w) ; Refresh now / No changes or actions required
;GlbX9.w) ; Download / parsing complete
;GlbX10.w) ; Ok to commence oneLook refresh
;GlbX11.w) ; Please check connection
;GLBXLog.W) ; Let Update know oneLook not running
;GlbXLook.W) ; Let Update know oneLook not running
;GLBXFTP.W) ; Let Update know oneLook not running
;GlbDL.W) ; Let Update know oneLook not running
;GlbXadmin.W) ; Let Update know oneLook not running
Oh!! And the 2nd app is dependant on the MS native ftp.exe because that was the only option when I created the original code back in the 16bit GFA Basic Era, Long before I even learned of PB. I am tentatively rewriting the 2nd app now using PB native FTP and figured it would be a good time to do away with Atoms if possible. It took me a year to port my 20k+ lines of GFA code into PB, keeping in mind I am NOT a programmer by any stretch of my imagination

- - - - - - - - - - - - - - - -
Randy
I *never* claimed to be a programmer.
Randy
I *never* claimed to be a programmer.