Bonjour,
J'ai un problème pour enregistrer et relire un TMetafile comme partie d'un fichier binaire plus global.
Pour l'écriture, je fais :
Jusque là, tout semble (?) bien se passer...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 TMemoryStream* pms=new TMemoryStream(); metafilePtr->SaveToStream(pms); // metafilePtr est un pointeur vers mon TMetafile pms->Position=0; // Size représente la taille du flux en mémoire, en octets __int64 bufferSize=pms->Size; char* bufferPtr=new char[bufferSize]; // lit le contenu du flux dans bufferPtr pms->ReadBuffer(bufferPtr,bufferSize); delete pms; // le tampon bufferPtr est supposé représenter le contenu binaire du TMetafile, à ce que j'ai compris => je l'écris dans mon fichier (fonction personnelle) ... delete[] bufferPtr;
Maintenant, je veux relire le contenu sauvegardé et le charger dans un TMetafile
Mon problème => je ne vois pas où est l'erreur...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 char* bufferPtr=new char[bufferSize]; // je charge le contenu lu dans le tampon bufferPtr (fonction personnelle) ... TMemoryStream* pms=new TMemoryStream(); // inutile a priori pms->Position=0; // met à jour pms à partir du tampon pms->Write(bufferPtr,bufferSize); delete[] bufferPtr; pms->Position=0; metafile_->LoadFromStream(pms); // ici, j'ai le message d'erreur peu explicite MetaFichier incorrect ! delete pms;
Partager