begin process at 2010 02 10 02:49:00
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Débutant(e)

 > 

Probleme perte de mémoire - Chilkat


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Probleme perte de mémoire - Chilkat

lundi 4 août 2008 à 14:51:17 | Probleme perte de mémoire - Chilkat

SuperChouquette

Bonjour, je suis débutant en c++ et j'éssaye d'utiliser les librairies chilkat Http  et CkStringArray, je récupere des parametres situés sur un site internet grace à la librairie Chilkat HTTP et je souhaite  les mettres dans un tableau avec la fonction Split de C String et j'ai fait une boucle for pour actualiser les parametres mais mon code à un probleme de perte de mémoire assé important et je ne sais pas comment le régler.
Désolé si je ne suis pas trop clair, je suis débutant, mais n'hésitez pas à poser des questions !

mon code : [ Lien ] (j'ai mis les librairies dans le rar avec les sources)
la doc des librairies Chilkat : http://www.chilkatsoft.com/refdoc/cpp.asp
des exemples de codes Chilkat : http://www.example-code.com/vcpp/http.asp
 
Merci d'avance !
Chouquette.
lundi 4 août 2008 à 15:00:44 | Re : Probleme perte de mémoire - Chilkat

SuperChouquette

Sinon si vous voici le code contenu dans le fichier rar si vous préférez :

#include <windows.h>
#include <iostream>

#include <../include/CkHttpRequest.h>
#include <../include/CkHttp.h>
#include <../include/CkHttpResponse.h>
#include <../include/CkStringArray.h>
#include <../include/CkString.h>

using namespace std;
char url_server[] = "localhost";
char http_req_path[] = "params.php";
char Identifiant[] = "Identifiant - Test";


CkStringArray *ParamArray;
void ChilkatSample(void)
{
    CkHttpRequest req;
    CkHttp *http = new CkHttp;
    CkHttpResponse *resp = new CkHttpResponse;
    CkString html;

    http->UnlockComponent("Http-TEAMBEAN_3E70D502146I");
    req.UsePost();
    req.put_Path(http_req_path);
    req.AddParam("Identifiant",Identifiant);
    resp = http->SynchronousRequest(url_server,80,false,req);
    html = resp->bodyStr();
    ParamArray = html.split('|',true,true,false);

}

int main( void ) {

    for(int i=0;i<100000; i++)
    {
        ChilkatSample();
    }
    system("pause");
}

lundi 4 août 2008 à 15:50:48 | Re : Probleme perte de mémoire - Chilkat

Cyr62110

Réponse acceptée !
Dans ta fonction ChilkatSample, tu ne libére jamais tes variables allouées dynamiquements.
En C++, tu doit utiliser delete.
Ce qui explique ton enorme fuite de memoire.
Bye
lundi 4 août 2008 à 16:18:14 | Re : Probleme perte de mémoire - Chilkat

SuperChouquette

merci, j'ai éssayé mais il me met :

Debug Assertion Failed!

Program:c:\......\Projet.exe
File:dbgdel.cpp
Line:52

Expression:_Block_Type_IS_VALID(pHead->nBlockUse)


voici ce que j'ai fait :

void ChilkatSample(void)
{
    CkStringArray *ParamArray;
    CkHttpRequest req;
    CkHttp *http = new CkHttp;
    CkHttpResponse *resp = new CkHttpResponse;
    CkString html;

    http->UnlockComponent("Http-TEAMBEAN_3E70D502146I");
    req.UsePost();
    req.put_Path(http_req_path);
    req.AddParam("Identifiant",Identifiant);
    resp = http->SynchronousRequest(url_server,80,false,req);
    html = resp->bodyStr();
    ParamArray = html.split('|',true,true,false);

    delete[] ParamArray;
    delete[] &req;
    delete[] &http;
    delete[] resp;
    delete[] &html;

}

lundi 4 août 2008 à 16:42:46 | Re : Probleme perte de mémoire - Chilkat

SuperChouquette

j'ai cherché un peu pour ce message d'erreur et j'ai trouvé la réponse ici : http://www.developpez.net/forums/showthread.php?t=89973
mais maintenant j'ai un autre message d'érreur si je fait un delete[] &http; sinon les autres delete[] fonctionne mais quand je l'éffectu sur la variable http j'ai ce message :
Exception non gérée à 0x770459c3 dans Projet.exe : 0xC0000005: Violation d'accès lors de la lecture de l'emplacement 0xe72fc37d.

merci .
lundi 4 août 2008 à 17:21:00 | Re : Probleme perte de mémoire - Chilkat

Cyr62110

Réponse acceptée !
tu n'as pas a utiliser :
delete[] &req;
delete[] &html;
Car ce ne sont pas des variables gérer dynamiquement.
le programme alloue de la place en debut de fonction et la désalloue à la fin sans avoir besoin de la faire.
Sinon je devellope presque uniquement en C donc je ne peut pas plus t'aider.
Désolé.
Bye
lundi 4 août 2008 à 17:44:53 | Re : Probleme perte de mémoire - Chilkat

SuperChouquette

Ok merci beaucoup pour ton aide ! mais j'ai toujours le probleme quand je met un delete[] http; ca me fait toujours la meme erreur et si je ne met pas delete [] http, j'ai une fuitte de mémoire ..
lundi 4 août 2008 à 17:58:45 | Re : Probleme perte de mémoire - Chilkat

SuperChouquette

maintenant ca fonctionne ! merci beaucoup pour ton aide, finalement je n'ai pas fait de delete http j'ai juste fait

    delete[] ParamArray;
    delete[] resp;

et ca fonctionne alors que avant quand je mettait pas delete http ca faisait une fuite de mémoire, maintenant je le met pas ca fait plus rien ! merci beaucoup tu m'a vraiement bien aidé !
lundi 4 août 2008 à 18:29:02 | Re : Probleme perte de mémoire - Chilkat

SAKingdom

Membre Club
Réponse acceptée !
Pour libérer une classe on utilise delete sans []

delete ParamArray;
delete resp;
delete http;

C++ (@++)

lundi 4 août 2008 à 21:04:40 | Re : Probleme perte de mémoire - Chilkat


Cette discussion est classée dans : probleme, http, perte, mémoire, chilkat


Répondre à ce message

Sujets en rapport avec ce message

Perte de mémoire [ par glipper ] Bonjour,j'aimerais comprendre pourquoi lorsque je fais un programme qui fait de grosses operations (scan du disque par exemple), une fois le programme Probleme de mémoire, impossible à vider... [ par Guizmo95 ] Bonjour, Voilà mon problème : J'ai le code suivant : char *buffer; sprintf(bu probleme urgent svp !!! [ par morgandetoi06 ] voila j ai fait un petit programme que j ai posté :http://www.cppfrance.com/code.aspx?ID=18814quand je le compile sous borland ça marche tres bien, ma Probleme d'allocation de mémoire dynamique (malloc/free) [ par PhantomPowaa ] Bonjour,J'ai un petit probleme avec les fonctions malloc et free dans certains de mes programmes. Apparement le malloc s'effectue correctement, mais a Limiter la mémoire utiliser par ses programmes [ par Arto_8000 ] Présentement je suis entrain de dévelloper un mini jeux de plateforme du genre Mario avec SDL. Le jeux fonction très bien sauf que j'ai remarquer qu'i HTTP, SQUID, SOCKET !!!! [ par let_me_in ] bonjour tout le monde, je voulais faire un proxy sans se casser trop la tete alors j'ai bricolé un peu, j'ai lancer squid, j'ai lancer mon application Probleme ACCESS et Champ OLE [ par rubix2 ] bonjour,j'ai besoin de visualiser le contenu d'un champ d'une table ACCESS. Le champ est de type Objet/OLE et quand je visualise la table en mode feui gcc désactiver l'alignement mémoire des strucutre [ par Daimadoshi ] bonjour a tous, désactiver l'alignement mémoire des strucutres  car je doit utiliser une structure dont les champs doivent etre dans un certain ordre HELP ! probleme dans une fct pour compression [ par ryoussef19 ] Bonjour, j'ai un probleme vraiment urgent !voila je cherche une fonction qui me permet de compresser un fichier en un fichier , j'utilise les deux fo probleme de calcul [ par beny100 ] salut a tous j'ai un probleme en langage c.quand je fais pow(35786,2)=1280637824le resultat escompté est different du resultat fournit avec une calcul


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,359 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales