Ver Mensaje Individual
  #32  
Antiguo 02-04-2010
Avatar de fide_uci
fide_uci fide_uci is offline
Miembro
 
Registrado: ene 2009
Ubicación: Cuba - La Habana
Posts: 226
Reputación: 18
fide_uci Va por buen camino
Anoche me encontraba leyendo la documentacion de los RFC del XMPP para poder implementar las funciones que estoy haciendo para manipular los XML que envio y recibo del servidor XMPP. Dado que las voy a poner dentro de una DLL para que otros usuarios la utilizen desde cualquier lenguaje de programacion me surge una duda. ¿Como podria declarar yo una funcion dentro de la DLL para que no tenga problemas al usarlo con algun otro lenguaje de programacion?. O sea con que tipo de datos declaro los parametros?. Estuve pensando en declarar los parametros como PChar para la compatibilidad y que todas las funciones sean con stdcall al final.

Diganme que creen de esto. Por ejemplo como seria la forma correcta de declarar esta funcion en una DLL para poder utilizarla en otros lenguajes??

Código Delphi [-]
function xmpp_login(pUserName, pPassword, pResource: String): WideString;
var
  cXMLDoc: TXMLDocument;
begin

  cXMLDoc := TXMLDocument.Create(Form1);
  try
    cXMLDoc.XML.Text := xmpp_res_login;
    cXMLDoc.Active := True;
    cXMLDoc.DocumentElement.ChildNodes['query'].ChildNodes['username'].Text := pUserName;
    cXMLDoc.DocumentElement.ChildNodes['query'].ChildNodes['password'].Text := pPassword;
    cXMLDoc.DocumentElement.ChildNodes['query'].ChildNodes['resource'].Text := pResource;
    Result := cXMLDoc.XML.Text;
  finally
    cXMLDoc.Free;
  end;

end;

Esa funcion actualmente con una llamada como esta

Código Delphi [-]
Memo1.Text := xmpp_login('fide_uci', 'myP@sSw0rd', 'nombre_pc');


me devuelve esto.

Código:
<iq type="set" id="auth_id"><query xmlns="jabber:iq:auth"><username>fide_uci</username><password>myP@sSw0rd</password><resource>nombre_pc</resource></query></iq>
Alguien que me diga que cree de esto y como seria la mejor manera de declararla dentro de una DLL para que no tenga problema alguno de compatibilidad.
Responder Con Cita