Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2752 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  un tit souci de pointeur

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

un tit souci de pointeur

n°1365647
rp91
Posté le 13-05-2006 à 16:36:16  profilanswer
 

Bonjour
 
j'ai un projet sans erreur de compil mais il ne fait pas ce que je veux parce qu'il n'a qu'une ligne que je n'arirve pas à définir correctement. je ne sias pas comment déclarer le pointeur ou le mettre en place.
 
c'est cette fonction
 

Code :
  1. HDDEDATA DdeClientTransaction(  // aide msdn   
  2.     LPBYTE pData, // là je bloque
  3.     DWORD cbData,
  4.     HCONV hConv,
  5.     HSZ hszItem,
  6.     UINT wFmt,
  7.     UINT wType,
  8.     DWORD dwTimeout,
  9.     LPDWORD pdwResult
  10. );


 
 j'ai une case IDC_EDIT1 avec une valeur "m_Val" de type CString.
 
je veux envoyer une donnée pour écriture sur un serveur dans une case de valeur "Value" de type CString.
 
dans mon programme client, j'ai mis donc le code suivant correspondant au bouton (tout à la fin)
 

Code :
  1. Item=DdeCreateStringHandle
  2.             (
  3.             pidInst,
  4.             m_Item,
  5.             CP_WINANSI
  6.             );
  7.         DdeClientTransaction
  8.             (
  9.             (LPBYTE)(LPCTSTR)ItemValue,  // bloqué
  10.             strlen(ItemValue)+1,
  11.             hconv,
  12.             Item,
  13.             (UINT) CF_TEXT,
  14.             (UINT) XTYP_POKE,
  15.             (DWORD) 1000,
  16.             NULL
  17.             );
  18.         DdeFreeStringHandle(pidInst, Item);


 
et j'ai mis tout en haut en globale dans mon programme
char ItemValue[50]="m_Val";
 
==> aucune erreur de compil, dans mon projet je reçois des valeur mais ne peux en envoyer, pourriez vous me dire comment je pourrai envoyer la valeur de la case sur le serveur, cad comment faire que la valeur soit pointée par un pointeur ItemValue
 
je me suis aidé de cette page pour faire mon programme :
http://support.microsoft.com/defau [...] r%3B279721
je n'utilise pas d'excel, c 2 exécutables. et c des MFC sous visual c++
 
voilà
Je vous remercie d'avance pour votre aide.
 
----------------------------------------------
 
pour information, le haut du code c'est  

Code :
  1. // client : m_Val, m_Double, m_Triple et serveur : Value, Double, Triple
  2. // nav_clientDlg.cpp : implementation file
  3. //
  4. #include "stdafx.h"
  5. #include "nav_client.h"
  6. #include "nav_clientDlg.h"
  7. #include <ddeml.h> // rajout
  8. #include <time.h>
  9. #include <windows.h>
  10. #ifdef _DEBUG
  11. #define new DEBUG_NEW
  12. #undef THIS_FILE
  13. static char THIS_FILE[] = __FILE__;
  14. #endif
  15. //déclaration de la fonction callback
  16. HDDEDATA CALLBACK DdeCallback(
  17.   UINT uType,     // transaction type
  18.   UINT uFmt,      // clipboard data format
  19.   HCONV hconv,    // handle to the conversation
  20.   HSZ hsz1,       // handle to a string
  21.   HSZ hsz2,       // handle to a string
  22.   HDDEDATA hdata, // handle to a global memory object
  23.   DWORD dwData1,  // transaction-specific data
  24.   DWORD dwData2   // transaction-specific data
  25. );
  26. DWORD pidInst;
  27. PFNCALLBACK pfnCallback;
  28. HSZ Item,Topic,Service;
  29. HDDEDATA hData;
  30. HCONV hconv;
  31. DWORD size;
  32. PSTR psz;
  33. char ItemValue[50]="m_Val";  //////////////// m_Val?

mood
Publicité
Posté le 13-05-2006 à 16:36:16  profilanswer
 

n°1365671
rp91
Posté le 13-05-2006 à 18:24:18  profilanswer
 

une ptite aide svp?
j'ai trop cherché et c la dernièreligne avant que mon prog soit fini.
 
vous pouvez poser des questions si y a des trucs pas clairs

n°1365750
rp91
Posté le 13-05-2006 à 22:01:16  profilanswer
 

up

n°1365771
rp91
Posté le 14-05-2006 à 00:24:18  profilanswer
 

j'ai trouvé qqch :
char* ItemValue=(char*)LPCTSTR(m_Val);
 
le souci est qu'il prend uniquement une valeur prédéfinie  
m_Val = _T("5" );
DDX_Text(pDX, IDC_EDIT1, m_Val);
ON_EN_CHANGE(IDC_EDIT1, OnChangeEdit1)
==> au démarrage il y a une case préremplie avec une valeur de 5
moi je démarre le programme je met une valeur de 7 ou 8 ou 2 ou 10, c moi qui choisit et je veux l'envoyer or mon programme ne prend que la valeur prédéfinie.
m_Val est de type class CString
 
en fait je chercher à récupérer cette valeur modifiée dans IDC_EDIT1 (une case genre Edit Box)
 
j'iamerai votre aide sur la mise en place des fonctions suivante qui me seront utiles je pense.
hItemValue = GetDlgItem(hWnd, IDC_EDIT1);
et/ou un  
GetWindowText(hItemValue,pDDE.ItemValue,500);
 
ou si vous savez comment faire pour récupérer cette valeur modifiée dans IDC_EDIT1  
 
Merci

n°1365797
rp91
Posté le 14-05-2006 à 02:36:07  profilanswer
 

probleme résolu
 
 UpdateData();
 char* ItemValue=(char*)LPCTSTR(m_Val); // ça marche avec la valeur par défaut de m_Val
                                        // donc je met à jour tout cela
 UpdateData(FALSE);
 
@+


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  un tit souci de pointeur

 

Sujets relatifs
Petit souci de suppression de repertoire en PHP....souci concepteur WinForms
souci de recuperation de donnees(builder) Pointeur sur un objet
Serializer un pointeursouci de doublons
souci de presentation dans mon formulairesouci avec player mp3 flash et page html
dispose d'un pointeur egal à nil2q : pointeur et syntaxe
Plus de sujets relatifs à : un tit souci de pointeur


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR