[Delphi] Messages tussen applicaties

Pagina: 1
Acties:

  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
Welke messages mag/moet ik gebruiken voor communicatie tussen 2 (Delphi) applicaties. Kan ik hiervooer gewoon WM_USER + n gebruiken. Of moet ik met RegisterMessage werken en dan broadcast gebruiken ofzo?

Kan iemand mij hier duidelijkheid over geven.

Alvast bedankt. :)

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • Guillome
  • Registratie: Januari 2001
  • Niet online

Guillome

test

Ik heb zoiets ook ooit een keer gedaan
Download HandyFTP The Client maar van mijn site.
Das de D5 source.
Daar gebruik ik het ook. Tussen het FTP en de download programma.
Staat op mijn forum btw.

If then else matters! - I5 12600KF, Asus Tuf GT501, Gigabyte Gaming OC 16G 5080 RTX, Asus Tuf Gaming H670 Pro, 48GB, Corsair RM850X PSU, SN850 1TB, Arctic Liquid Freezer 280, ASUS RT-AX1800U router


Verwijderd

Hmm ooit gehoord van DDE? (dat gebruikte ik in delphi 1)

  • Wupsje
  • Registratie: Januari 2001
  • Laatst online: 13-11-2024
WM_USER + x kan je niet gebruiken..
aangezien WM_USER elke keer een andere waarde kan zijn.

Wupsje

  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
Oke, dan moet ik dus mijn berichten gaan reggen met RegisterWindowMessage?

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 04-09 14:38

curry684

left part of the evil twins

Hangt er vanaf wat je zoal wil... WM_USER is absoluut niet variabel, maar staat al jaren op 0x0400. Het is wel de verkeerde base om vanuit de gaan want bedoelt voor app-interne messages.

Je kunt eventueel WM_APP als basis gebruiken als je een gerichte message naar de 2e app post/send. Pas als je wilt broadcasten heb je eigenlijk RegisterWindowMessage nodig omdat dan iedereen meeluistert.

Maar wat wil je zoal communiceren... voor de meeste vormen van IPC (Inter-Process Communication) is messaging namelijk helemaal niet interessant vanwege de beperkte dataomvang en de potentiele traagheid. Pipes en/of file mappings met named events en mutexes zijn meestal een veel beter alternatief.

DDE waar cold_shady naar verwijst is een anachronisme: enkel aanwezig in nieuwere Windows-versies voor backwards compatibility. Dus zeg het maar wat voor data je heen en weer wil schuiven, en wat is de relatie tussen de 2 processen (child/standalone)?

Professionele website nodig?


  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
Ik hoef alleen maar door te geven aan de andere applicatie dat ie iets moet doen. Bijvoorbeeld on-top komen.

Er hoeft verder geen data worden verzonden ofzo.

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 04-09 14:38

curry684

left part of the evil twins

Op vrijdag 26 april 2002 09:28 schreef jelmervos het volgende:
Ik hoef alleen maar door te geven aan de andere applicatie dat ie iets moet doen. Bijvoorbeeld on-top komen.

Er hoeft verder geen data worden verzonden ofzo.
Ok, als je de window-handle van je slachtoffer-app weet kun je dan inderdaad het beste een message WM_APP + X definieren.

Professionele website nodig?


  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
Thanks.

"The shell stopped unexpectedly and Explorer.exe was restarted."

Pagina: 1