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 ) :
Pas de problème, déclarons un TIdCookieRFC2109 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 RequestInfo->Cookies->AddCookie(TIdCookieRFC2109 *)
Et vlan :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2TIdCookieRFC2109 *a; a = new TIdCookieRFC2109;
[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 :
Est-ce que quelqu'un a déjà utilisé cette fonction ou voit comment faire pour utiliser cette fonction ?
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) { } };
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 ...
Partager