[RESOLU] un ptit souci de pointeur, sous visual c++

Cliquer ici pour accéder a tous les problèmes résolus de cette catégorie...

Modérateurs : Naveed, GregLand

Répondre
Naveed
Messages : 2001
Enregistré le : 13 sept. 2003 13:03
Localisation : 91 (Essonne)
Contact :

[RESOLU] un ptit souci de pointeur, sous visual c++

Message par Naveed »

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 : Tout sélectionner

HDDEDATA DdeClientTransaction(  // aide msdn   

    LPBYTE pData, // là je bloque
    DWORD cbData,
    HCONV hConv,
    HSZ hszItem,
    UINT wFmt,
    UINT wType,
    DWORD dwTimeout,
    LPDWORD pdwResult
);
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 : Tout sélectionner

  Item=DdeCreateStringHandle
            (
            pidInst,
            m_Item,
            CP_WINANSI
            );

        DdeClientTransaction
            (
            (LPBYTE)(LPCTSTR)ItemValue,  // bloqué
            strlen(ItemValue)+1,
            hconv,
            Item,
            (UINT) CF_TEXT,
            (UINT) XTYP_POKE,
            (DWORD) 1000,
            NULL
            );
        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/default.as ... r%3B279721
je n'utilise pas d'excel, c 2 exécutables. et c des MFC sous visual c++

voilà, vous remercie d'avance si vous arrivez à me filer un coup de main :D

----------------------------------------------

pour information, le haut du code c'est

Code : Tout sélectionner

// client : m_Val, m_Double, m_Triple et serveur : Value, Double, Triple
// nav_clientDlg.cpp : implementation file
//

#include "stdafx.h"
#include "nav_client.h"
#include "nav_clientDlg.h"
#include <ddeml.h> // rajout

#include <time.h>
#include <windows.h>

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif


//déclaration de la fonction callback
HDDEDATA CALLBACK DdeCallback(
  UINT uType,     // transaction type
  UINT uFmt,      // clipboard data format
  HCONV hconv,    // handle to the conversation
  HSZ hsz1,       // handle to a string
  HSZ hsz2,       // handle to a string
  HDDEDATA hdata, // handle to a global memory object
  DWORD dwData1,  // transaction-specific data
  DWORD dwData2   // transaction-specific data
 
);
 


DWORD pidInst;

PFNCALLBACK pfnCallback;

HSZ Item,Topic,Service;
HDDEDATA hData;
HCONV hconv;

DWORD size;
PSTR psz;


char ItemValue[50]="m_Val";  //////////////// m_Val?
Modifié en dernier par Naveed le 14 mai 2006 02:36, modifié 1 fois.
:: Naveed ::
Site : http://naveed.free.fr
Livre d'or : http://www.swisstools.net/guestbook.asp?id=27217
"Loin de moi toute prétention de génie, mais si je puis vous aider..."
Image
GregLand
Programmeur & Administrateur
Programmeur & Administrateur
Messages : 4431
Enregistré le : 10 oct. 2003 09:36
Langage de programmation connu : Utilisés régulièrement :
- Visual DialogScript
- WinDev
- AutoIt
- AutoHotkey
- Html, Js, Vbs, PHP

Utilisés très peu :
- C et C++
- VB et VB.Net (pour les DLL)
- Java (Pour Android)
- ASM (pour désassembler)
- Python (quand je m'ennuie)
- et quelques autres....
Localisation : Les Damps (27)
Contact :

Message par GregLand »

Moi ch'suis désolé, ch'peux pas t'aider... Image
J'aime pô ça le C++... Et je suppose que tu as pas mal cherché sur Google...
Config :
Image
Sebome
Messages : 169
Enregistré le : 07 sept. 2005 20:21
Localisation : Région parisienne

Message par Sebome »

:o je suis totalment pomé dans ton code... :oops:
Il y 'a de l'interface graphique ladedans?

Sinon je le seul truc que je peux dire c'est pour un pointeur :

type * nom_du_pointeur;


Je dis ca comme je vois pas détoile mais bon vu ce que tu fais ton niveau est bien supérieur au mien, je ne dois pas t'etre d'une grande aide...
Naveed
Messages : 2001
Enregistré le : 13 sept. 2003 13:03
Localisation : 91 (Essonne)
Contact :

Message par Naveed »

j'ai l'équivalent en vb, sauf que là là j'ai une valeur dans une case mais j'arrive pas à la récupérer, le pointeur doit désigner la valeur
en plus mon code compile avec les * ou & donc meme en tessayant au pif j'ai pas réussi lol

c le seul truc à trouver et j'aurai tt fini lolz

++
:: Naveed ::
Site : http://naveed.free.fr
Livre d'or : http://www.swisstools.net/guestbook.asp?id=27217
"Loin de moi toute prétention de génie, mais si je puis vous aider..."
Image
Naveed
Messages : 2001
Enregistré le : 13 sept. 2003 13:03
Localisation : 91 (Essonne)
Contact :

Message par Naveed »

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

lol j'ai avancé d'un pas :D
:: Naveed ::
Site : http://naveed.free.fr
Livre d'or : http://www.swisstools.net/guestbook.asp?id=27217
"Loin de moi toute prétention de génie, mais si je puis vous aider..."
Image
Naveed
Messages : 2001
Enregistré le : 13 sept. 2003 13:03
Localisation : 91 (Essonne)
Contact :

Message par Naveed »

j'ai réussi à trouver une astuce.
probleme résolu.

Code : Tout sélectionner

 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);
@+
:: Naveed ::
Site : http://naveed.free.fr
Livre d'or : http://www.swisstools.net/guestbook.asp?id=27217
"Loin de moi toute prétention de génie, mais si je puis vous aider..."
Image
GregLand
Programmeur & Administrateur
Programmeur & Administrateur
Messages : 4431
Enregistré le : 10 oct. 2003 09:36
Langage de programmation connu : Utilisés régulièrement :
- Visual DialogScript
- WinDev
- AutoIt
- AutoHotkey
- Html, Js, Vbs, PHP

Utilisés très peu :
- C et C++
- VB et VB.Net (pour les DLL)
- Java (Pour Android)
- ASM (pour désassembler)
- Python (quand je m'ennuie)
- et quelques autres....
Localisation : Les Damps (27)
Contact :

Message par GregLand »

Content que le forum ait pu t'aider...
Image
. Image
Config :
Image
Naveed
Messages : 2001
Enregistré le : 13 sept. 2003 13:03
Localisation : 91 (Essonne)
Contact :

Message par Naveed »

tant pis, on sait jamais si un bon passe par là :D :D

le principale c que j'ai réussi, surtout sans aide d'aucun forum (mon sujet devait intéresser personne ou alors trop complexe pour avoir une vrai réponse :P lolz)

en tt cas je déteste la prog, ça c sur, c trop galère lolz
je sais meme pas comment tu fais toi avec tes logiciels.

++

Pour ceux intéressé pour programmer graphiquement sous windows, c'est fichier/nouvo projet/MFCappwizard(exe) et choisir "dialog based"
ensuite vous dessinez un bouton, double cliq puis ok alors vous pouvez écrire entre les accolade votre fonction qui sera exécutée lors d'un double cliq.
et là le sport peut commencer
:P
:: Naveed ::
Site : http://naveed.free.fr
Livre d'or : http://www.swisstools.net/guestbook.asp?id=27217
"Loin de moi toute prétention de génie, mais si je puis vous aider..."
Image
Répondre