PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → DDE plus fonctionnel avec les dernière version de Windows ?
DDE plus fonctionnel avec les dernière version de Windows ?
Débuté par Gilles, 27 mai 2019 10:46 - 4 réponses
Posté le 27 mai 2019 - 10:46
Bonjour à tous

J'ai essayé de refaire tourner DDE (Dynamique Data Exchange) entre 2 de mes applications.
Cela fonctionnait auparavant mais à priori, impossible de se connecter (la commande DDEConnecte ne semble même pas s’exécuter)
J'ai lu sur le net qu'en 2017, certains virus exploitait le DDE pour hacker Office, et je me dis que peut-être cela est maintenant bloqué dans les dernière release de Windows 10.

Donc ma question, est ce que l'un d'entre vous à fait fonctionner DDE récemment ?

Et sinon quelle alternative pour communiquer facilement et ponctuellement entre 2 appli (mutex ?)
Membre enregistré
299 messages
Popularité : +16 (16 votes)
Posté le 27 mai 2019 - 12:38
Et sinon quelle alternative pour communiquer facilement et ponctuellement entre 2 appli ?

La technologie OLE
Outre cela WD intègre une interface tableur et une interface texte.
C'est aussi un moyen de traiter de l'XLS et du DOC en natif.
Posté le 27 mai 2019 - 15:59
la technologie OLE n'est pas possible (facilement) entre 2 applications Windev (seulement Windev et Word par exemple)
Posté le 14 juin 2019 - 16:03
bon a priori plus personne n'utilise DDE
Membre enregistré
510 messages
Popularité : +18 (18 votes)
Posté le 14 juin 2019 - 18:32
Bonjour Gilles,
"la" question est... pour quoi faire ? ;)

Je n'ai pas utilisé DDE récemment, je vais essayer de migrer un ancien projet qui utilisait DDE sous Windows XP pour tester son fonctionnement sous Windows XP.
De mémoire, en WLangage, l'implémentation des fonctionnalités DDE est sommaire par rapport aux canons de Microsoft.

Il y a aussi les messages Windows (qui initialement servaient à implémenter le protocole DDE). Dans la doc WINDEV, on parle d'événement Windows.
https://doc.pcsoft.fr/fr-FR/?3015002&3015002

En ce moment j'utilise une technique IPC assez ancienne nommée Mailslot qui peut être utilisée en local ou éventuellement en réseau, mais dans un réseau local (sous-réseau IP, les Mailslot sont basés sur un datagramme UDP) car je ne crois pas que le routage soit toujours opérationnel (à tester).
Le défaut/avantage d'un Mailslot est qu'il est sans connexion (cf. UDP) mais en réseau il n'y a pas de garantie de remise d'un message.
Je l'utilise à travers une classe que j'ai développée et qui exploite l'API Windows.

On peut utiliser les sockets (TCP/IP) programmables directement en WLangage.
https://doc.pcsoft.fr/fr-FR/?3070008&3070008

Les tubes Windows (tubes/pipes nommés) sont efficaces mais il faut programmer l'API Windows. (il doit bien exister quelque part une classe codée en WLangage qui met en oeuvre les tubes nommés)

Autre IPC classique, c'est la mémoire partagée pour laquelle le WLangage propose aussi des fonctions prêtes à l'emploi.
https://doc.pcsoft.fr/fr-FR/?1000018934&1000018934

Après, on peut exploiter les système d'intermédiation comme les files de message, mais cela suppose de maîtriser une couche technique supplémentaire (par exemple MSMQ pour lequel j'ai déjà vu sur un forum du code WLangage qui le pilote via COM, c-à-d un genre d'automation OLE de plus bas niveau)
https://fr.wikipedia.org/wiki/File_d%27attente_de_message

IPC = Communication Inter-Processus https://fr.wikipedia.org/wiki/Communication_inter-processus

--
Pour me contacter par courrier électronique, cliquez sur le lien ci-dessous (protection antispam): http://cerbermail.com/…