Control external application via DDE channel

Xbase++ 2.0 Build 554 or later
Post Reply
Message
Author
Victorio
Posts: 621
Joined: Sun Jan 18, 2015 11:43 am
Location: Slovakia

Control external application via DDE channel

#1 Post by Victorio »

Hi,
Is it possible ?
I have my application, from this I want run other program for example via RunShell ? or I do not know how can I run it.
External program run with /server parameter, then this is in remote mode, and receiving commands from client via DDE .
External program run as service with name for example abc.
How can I do it ? Is it complicated ?

In manual for this external program write running with winexec(), but I do not know, how can do it.
Alaska have not support for this or yes ?

Thanks.

Please, If somebody have simple example, on internet I found only examples from visual studio, delphi, C+ etc.

User avatar
Auge_Ohr
Posts: 1407
Joined: Wed Feb 24, 2010 3:44 pm

Re: Control external application via DDE channel

#2 Post by Auge_Ohr »

Victorio wrote:Is it possible ?
no Answer ... no Wonder ...
as say : i never saw a DDE or OLE Sample for Xbase++ ! ( hm ... perhaps JazzAge or Yukon 3-PP had it )

to use OLE or DDE Application must "communicate" via Windows Message Queue but Xbase++ does not give you Access to "all" Events.
Xbase++ have ActiveX using COM, like in M$ Office, you can "send" and "receive" Data / Events ( see c:\ALASKA\XPPW32\Source\samples\activex\ )
Victorio wrote:I have my application, from this I want run other program for example via RunShell ? or I do not know how can I run it.
External program run with /server parameter, then this is in remote mode, and receiving commands from client via DDE .
External program run as service with name for example abc.
How can I do it ? Is it complicated ?
using Runshell is "One-Way" while your Xbase++ Application can "send" Parameter this Way but how to "receive" Return Value ?
DllCall can get a Return Value but it is not always a Xbase++ Type like C,N,D,L

Question : do you need to receive Event from external Application ?

this can only be done with XbpActiveXControl() ( or :dynamicCast() )
so ask for a OCX or DLL Documentation before buy a 3-PP Lib
Victorio wrote:In manual for this external program write running with winexec(), but I do not know, how can do it.
Alaska have not support for this or yes ?
it is the same like Runshell()
Victorio wrote:Please, If somebody have simple example, on internet I found only examples from visual studio, delphi, C+ etc.
is is not easy to translate Windows API to Xbase++ while Xbase++ does only support some Datatype like C,N,D,L.
Xbase++ can not handle Windows STRUCTURE (only simple String) without BAP (Alaska) or Ot4xb LIB (http://www.xbwin.com).
Xbase++ ActiveX only support DISPPATCH Interface so not all ActiveX will work with Xbase++.

if you real want to learn to use Windows API read
C. Petzold ( http://www.charlespetzold.com ) "Programming Windows, 5th edition" (Microsoft Press, 1998; 1479 pages) ISBN-10: 3860631888

Sample can be found here http://www.charlespetzold.com/books.html -> ftp://ftp.charlespetzold.com/ProgWin5 or http://www.charlespetzold.com/src/ProgWin5.zip

---

about GIS :
i´m using M$ Mappoint with ActiveX which mean i have to send Command to M$ Mappoint to get Result and show Data on Map.

when using PostgreSQL / PostGIS i "talk" to SQL Server like this

Code: Select all

SELECT superhero.name
FROM city, superhero
WHERE ST_Contains(city.geom, superhero.geom)
AND city.name = 'Gotham';
to get Result which can be shown using PostGIS API Function on a OpenStreetMap.

this mean that "my Data" must be "in" the Map which i have to "fill" before i can use it.
greetings by OHR
Jimmy

Victorio
Posts: 621
Joined: Sun Jan 18, 2015 11:43 am
Location: Slovakia

Re: Control external application via DDE channel

#3 Post by Victorio »

hi, thank´s for answer. asi I see, it is not simple problem.
muss translate and study, what you wrote (my english is not very good)

Íf it is not possible in Alaska Xbase ,I want examine using some command line dde tool .(like DDE Command from Chris Oldwood)

At first I want send some command via DDE to external application, for example, send coordinates on map, how I can see, or some object, how i want search on map, and too size and position map Window to output in my application.

At this time, I do not need receive event from external aplication, will be very important this option, because if I can it, my app will be like "GIS."

Post Reply