API Sendmessage et retour de flamme

API Sendmessage et retour de flamme - Delphi/Pascal - Programmation

Marsh Posté le 12-10-2002 à 08:35:51    

Salut, je suis en train de creer un systeme de plugins general a la  Winamp pour controler une application.
 
Le plugin utilise SendMessage(hwnd, WM_USER, GetFilename, 0) dans l'espoir de recevoir une reponse de mon app.
 
Du coté de mon app, si je veux retourner un Integer, c'est facile il suffit qu'a la reception du sendmessage je fasse msg.result:=666
 
Mais dans le cas ou j'ai besoin de renvoyer du texte ? Voici ce que la fonction tirée d'un plugin winamp:
 

Code :
  1. // Send a message to Winamp and return a String
  2. function GetAmpSTr(AmpHandle: HWND; Command, Data : Integer) : String;
  3. var
  4. ch : PChar;
  5. begin
  6. Ch := Pointer(SendMessage(Amphandle, wm_user, Data, Command));
  7. Result := strPas(ch);
  8. end;


 
Comment je peux envoyer mon Pchar (qui est un nom de fichier) a partir de mon app dans msg.result sachant qu'il faut utiliser la fonction GetAmpStr pour recupere la reponse au niveau du plugin.

Reply

Marsh Posté le 12-10-2002 à 08:35:51   

Reply

Marsh Posté le 12-10-2002 à 12:23:07    

:cry:

Reply

Marsh Posté le 12-10-2002 à 13:31:32    

ds msg.wParam t'as l'adresse de ton PChar (GetFilename ds ton exemple)


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
Reply

Marsh Posté le 12-10-2002 à 15:16:30    

[SDF]Poire a écrit a écrit :

ds msg.wParam t'as l'adresse de ton PChar (GetFilename ds ton exemple)




 
Ca y est, mon boolay est de sortie  [:xp1700]  
 
Ce que tu dis est totalement fou, tu imagines envoyer un message avec SendMessage de ton prog Delphi vers ICQ par exemple en espérant que l'adresse de ton PChar représente qqchose pour ICQ?
On dirait que tu as pas encore étudié la gestion de mémoire  
 :sarcastic:  
 
Sous Windows, le seul moyen correct pour envoyer un PChar via des SendMessage c'est un WM_COPYDATA.
 
Mais bon, je vois pas pourquoi tu veux utiliser des SendMessage si tu utilises des plugins, ca n'a aucun sens en soit.
 
Tu en es déjà loin pour ta gestion de plugins?
Tu veux proposer quoi plus ou moins?
 
Parce que le coup des SendMessage en général on réserve ca pour un contrôle externe par d'autres applications, mais jamais dans un plugin  :)  
 
Te filerai 2-3 bouts de code si tu veux pour faire un truc propre  ;)


---------------
Informaticien.be - Lancez des défis à vos amis
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed