Bonjour,
Je vous explique la situation :
J'ai une dll ISAPI qui sert de site web. Elle retourne donc du code HTML. (Site.dll)
Elle appel une dll ISAPI aussi qui elle contacte la BDD. Elles communiquent via SOAP. (Request.dll)
Elle meme appel une autre dll ISAPI qui gere des images et qui communique aussi par SOAP. (Photo.dll).
Donc j'ai le schéma :
Visiteur <-> Site.dll <-> Request.dll <-> Photo.dll
Sur certaines pages, Site.dll demande à Request des photos. (argument entier (id)). Request contacte Photo.dll pour lui demander l'image (OleVariant) en lui passant en parametre un string (nom du fichier récupéré dans la bdd).
Maintenant mon probleme :
Le visiteur accede à la page. Ok
Site.dll demande à Request en passant un entier. Ok
Site.dll appel Photo.dll en lui passant un string. Ok
Photo.dll recoit l'appel. Erreur (Je ne comprend pas mais le paramètre n'est pas joint !)
Voici les bouts de code :
Site.dll :
Request.dll :
Code : Sélectionner tout - Visualiser dans une fenêtre à part Response.Content := (HTTPRIO1 as IRequest_Interf).get_Photo(StrToInt(Request.QueryFields.Values['p_id']));
Résultat :
Code : Sélectionner tout - Visualiser dans une fenêtre à part Result := 'Bien envoyé : '+ADOQuery1.FieldByName('photo').AsString+'<br />' + (HTTPRIO1 as IPhoto).get_photo(ADOQuery1.FieldByName('photo').AsString);
Photo.dll :Bien envoyé : ubuntu.jpg
Bien reçu :
Donc ma question : Pourquoi FileName qui est bien passé en paramètre n'est pas reçu ??!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 function TPhoto.get_photo(Filename: String): String; begin Result := 'Bien reçu : '+Filename; end;
Pour info, je suis sous Windows Server 2003.
Partager