Probleme d'argument entre dll ISAPI
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 :
Code:
Response.Content := (HTTPRIO1 as IRequest_Interf).get_Photo(StrToInt(Request.QueryFields.Values['p_id']));
Request.dll :
Code:
Result := 'Bien envoyé : '+ADOQuery1.FieldByName('photo').AsString+'<br />' + (HTTPRIO1 as IPhoto).get_photo(ADOQuery1.FieldByName('photo').AsString);
Résultat :
Citation:
Bien envoyé : ubuntu.jpg
Bien reçu :
Photo.dll :
Code:
1 2 3 4
| function TPhoto.get_photo(Filename: String): String;
begin
Result := 'Bien reçu : '+Filename;
end; |
Donc ma question : Pourquoi FileName qui est bien passé en paramètre n'est pas reçu ??!!
Pour info, je suis sous Windows Server 2003.