Probleme avec une source

Signaler
Messages postés
37
Date d'inscription
jeudi 9 mai 2002
Statut
Membre
Dernière intervention
30 août 2003
-
Messages postés
37
Date d'inscription
jeudi 9 mai 2002
Statut
Membre
Dernière intervention
30 août 2003
-
salut a tous
ca fait des jours que j'essaye d'utiliser une classe créé par un membre sur ce site, mais sans succes :(
la source se trouve ici :

http://www.cppfrance.com/article.aspx?Val=2208

Le but de la classe est de faire un pack... qqn pourrait-il m'expliqué la procedure a suivre pour utiliser cette classe ?
merci d'avance

8 réponses

Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
Moi aussi ca me fait une erreur quand j'utilise le constructeur par défaut, et ca m'étonne pas quand je regarge le code (tests sur des pointeurs non initialisés), donc il est indéniable qu'il y a un petit problème. Si tu veux vraiment utiliser cette classe, pourquoi ne pas te renseigner auprès de son créateur?
Messages postés
37
Date d'inscription
jeudi 9 mai 2002
Statut
Membre
Dernière intervention
30 août 2003

demander a qqn sur le forum permet aux autres qui s'interroge sur la meme chose de trouver une reponse ;)
de +, en periode de vacances, on ne peut pas savoir si on obtiendra une reponse rapidement
ds le cas ou personne n'aurait reponse a cette question, je le contacterai bien evidement
Messages postés
949
Date d'inscription
mardi 2 octobre 2001
Statut
Membre
Dernière intervention
8 juillet 2006

Ce que tu peux faire, c'est remplacer le code du constructeur par:

CPackage::CPackage()
{plDataEntry plDataSize NULL;
plDataName = NULL;lFileNb lPakSize lPakDataSize = 0;
hPakFile = NULL;

bIsPakOpened = false;
}


Kaid - kaid.fr.st
Messages postés
37
Date d'inscription
jeudi 9 mai 2002
Statut
Membre
Dernière intervention
30 août 2003

avec ce code il n'y a plus d'erreur en effet
merci pour ton aide
par contre, qqn pourrait-il m'indiquer ce qu'il faut faire pour faire un pack qui s'auto extrait ?

je pense que c'est possible en utilisant les arguments passables a l'executable, par exemple lorsque l'on le lance :

- Package -a file.txt, qui amenerai amene a la fonction AddFile()
- Package -e file.txt, qui amenerai a la fonction SaveFile()

vous pensez que c'est possible ?
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
Bien sur que c'est possible!
Messages postés
37
Date d'inscription
jeudi 9 mai 2002
Statut
Membre
Dernière intervention
30 août 2003

je viens de faire un petit test vite fait, et j'ai une erreur, je comprends pas pourquoi, je vous met le code que j'ai ajouté a "package.cpp" :

int main (int argc, char *argv[])
{
if (!strcmp(argv[1], "-a"))
{
CPackage pak;
pak.OpenPak("pak.exe");
pak.AddFile("C:\\texte.txt");
pak.ClosePak();
}
if (!strcmp(argv[1], "-s"))
{
CPackage pak;
long int tmp = 1;
pak.SaveFile(tmp,"texte2.txt");
}

return 0;
}

apres compilation, qd je fais "Package -a", pas de probleme le pack se fait. mais si apres je fais "pack -s", il y a une erreur. c'est peu etre une mauvaise utilisation de la fonction, ou un probleme d'index. si qqn a une idée... merci d'avance
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
Peut etre que tu essaie des sauvegarder un pock vide?
Messages postés
37
Date d'inscription
jeudi 9 mai 2002
Statut
Membre
Dernière intervention
30 août 2003

ba je créé le pack avec la commande Package -a (ca ajoute le fichier ds le pack apriori), et ensuite j'essaye de sortir le fichier du pack.
peu etre que je m'y suis mal pris, ds ce cas j'aimerai bien connaitre la bonne methode pour utiliser cette classe