Bonjour,

je travaille actuellement sur le Builder 2010 où il y a une librairie Indy bien pratique, TIdHTTPServer, permettant de créer son propre serveur web ( on remplace apache en gros, et on est 6 fois plus rapide que du PHP ).

J'arrive à renvoyer une page web, utiliser une méthode GET, mais par contre pour les cookies, autant les récupérer ne me pose pas de problème, autant je n'arrive pas à en écrire dans le navigateur web ( client distant du serveur ).

En regardant les fonctions disponibles, il n'y en a qu'une à priori (corrigez-moi si je me trompe ) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
 
RequestInfo->Cookies->AddCookie(TIdCookieRFC2109 *)
Pas de problème, déclarons un TIdCookieRFC2109 :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
TIdCookieRFC2109 *a;
a = new TIdCookieRFC2109;
Et vlan :
[BCC32 Erreur] Unit1.cpp(69): E2285 Impossible de trouver une correspondance pour 'TIdCookieRFC2109::TIdCookieRFC2109()'
Contexte d'analyseur complet
Unit1.cpp(43): analyse : void _fastcall TForm1::IdHTTPServer1CommandGet(TIdContext *,TIdHTTPRequestInfo *,TIdHTTPResponseInfo *)


bon, je me dis qu'il faut aller voir comment la fonction a été codée ... j'y vais et là je commence à pleurer :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
class DELPHICLASS TIdCookieRFC2109;
class PASCALIMPLEMENTATION TIdCookieRFC2109 : public TIdNetscapeCookie
{
	typedef TIdNetscapeCookie inherited;
	
protected:
	__int64 FMax_Age;
	int FVersion;
	System::UnicodeString FComment;
	virtual System::UnicodeString __fastcall GetClientCookie(void);
	virtual System::UnicodeString __fastcall GetCookie(void);
	virtual void __fastcall SetExpires(const System::UnicodeString AValue);
	virtual void __fastcall LoadProperties(Classes::TStrings* APropertyList);
	
public:
	__fastcall virtual TIdCookieRFC2109(Classes::TCollection* ACollection);
	__property System::UnicodeString Comment = {read=FComment, write=FComment};
	__property __int64 MaxAge = {read=FMax_Age, write=FMax_Age};
	__property int Version = {read=FVersion, write=FVersion, nodefault};
public:
	/* TIdNetscapeCookie.Destroy */ inline __fastcall virtual ~TIdCookieRFC2109(void) { }
	
};
Est-ce que quelqu'un a déjà utilisé cette fonction ou voit comment faire pour utiliser cette fonction ?

j'ai bien trouvé la doc Indy ( qui m'a conforté dans l'idée que c'était bien la bonne fonction )

http://www.kumanov.com/docs/prog/indy/007391.html#0005


par contre on est loin de la bonne vieille doc du borland builder C++ 6 avec l'exemple à copier coller ^^'

Bref si quelqu'un a une idée ...