bonjour je développement un serveur http, pour j'utilise une DLL activeX. j'ai du mal à utiliser l'interface(l'api) suivante:
class IMStream : public COleDispatchDriver
{
public:
IMStream() {} // Calls COleDispatchDriver default constructor
IMStream(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch){}
IMStream(const IMStream& dispatchSrc) : COleDispatchDriver dispatchSrc) {}
public:
VARIANT Read(long ReadCount, long BufferType);
void Write(const VARIANT& buffer, long WriteCount); long Seek(long Offset, long Origin);
LPDISPATCH Clone();
long Size();
void Copy(LPDISPATCH Src, long Count);
void Empty();
};
je vous voudrai pouvoir transmetre un tab de unsigned char, recupere à partir de un fichier.
comment puis je trametre cet tab a cette interface?
comment puis je trametre cet tab de unsigned char à un type VARIANT?
comment ca marche le type VARIANT?
j'avais pensé à ce code suivant mais ca ne marche:
IMStream *pImst=new IMStream();
CFile file;
If(file.Open(FILENAME, CFile::modeRead ))
{
long Size=file.GetLength();
VARIANT Buffer = pImst->Read(Size,VT_ARRAY | VT_UI1 );
if (Buffer.vt == (VT_ARRAY | VT_UI1))
{
file.Read(Buffer.parray->pvData,Size);
pImst->Write(Buffer,Size);
file.Close();
}
}
merci de votre retour d'experience et vos suggestions
Message édité par darksqual le 29-12-2004 à 14:56:22