Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #21  
Antiguo 16-03-2010
Avatar de fide_uci
fide_uci fide_uci is offline
Miembro
 
Registrado: ene 2009
Ubicación: Cuba - La Habana
Posts: 226
Poder: 18
fide_uci Va por buen camino
El primerito que me da es teste.

"Ancestor for TExForm not found."
Responder Con Cita
  #22  
Antiguo 16-03-2010
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.669
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Por si acaso quieres probar otro más sencillo, aquí tienes este más pequeñito .

Olvídalo... no viene el código fuente...

Última edición por Casimiro Noteví fecha: 16-03-2010 a las 00:58:14.
Responder Con Cita
  #23  
Antiguo 16-03-2010
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.669
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
He encontrado varios, pero son para Linux.
Responder Con Cita
  #24  
Antiguo 16-03-2010
Avatar de fide_uci
fide_uci fide_uci is offline
Miembro
 
Registrado: ene 2009
Ubicación: Cuba - La Habana
Posts: 226
Poder: 18
fide_uci Va por buen camino
uff entonces estoy jod ??
Intenta compilarlo tu a ver, el Exodus.
Responder Con Cita
  #25  
Antiguo 16-03-2010
Avatar de fide_uci
fide_uci fide_uci is offline
Miembro
 
Registrado: ene 2009
Ubicación: Cuba - La Habana
Posts: 226
Poder: 18
fide_uci Va por buen camino
O sino habla con neftali o Roman para que me ayuden con eso que es de vida o muerte.
Responder Con Cita
  #26  
Antiguo 16-03-2010
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.669
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Siento no poder ayudarte en eso

Intenta compilar y cuando encuentres el primer error lo comentas aquí, por si acaso podemos ayudar alguno. Y así paso a paso.
Responder Con Cita
  #27  
Antiguo 16-03-2010
Avatar de fide_uci
fide_uci fide_uci is offline
Miembro
 
Registrado: ene 2009
Ubicación: Cuba - La Habana
Posts: 226
Poder: 18
fide_uci Va por buen camino
Okok deja ver. Es que cuando intento compilarlo me dice el error ese de que no encuentra la clase base ExForm. Para mi que eso es problema con los componentes Exodus. O sea el paquete ese que se distribuye con el programa para su compilacion. Dejame buscar mas informacion y luego te cuento.
Responder Con Cita
  #28  
Antiguo 16-03-2010
Avatar de fide_uci
fide_uci fide_uci is offline
Miembro
 
Registrado: ene 2009
Ubicación: Cuba - La Habana
Posts: 226
Poder: 18
fide_uci Va por buen camino
Necesito saber si alguien tiene el conocimiento para desarrollar un cliente jabber con las funcionalidades basicas desde 0. Por favor alguien me pudiera ayudar?

Usando delphi 7 claro esta !
Responder Con Cita
  #29  
Antiguo 16-03-2010
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.669
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Cita:
Empezado por fide_uci Ver Mensaje
Necesito saber si alguien tiene el conocimiento para desarrollar un cliente jabber con las funcionalidades basicas desde 0. Por favor alguien me pudiera ayudar?
Usando delphi 7 claro esta !
Amigo fide_uci, el problema no es simplemente si se tiene el conocimiento, el problema es el tiempo y recursos necesarios para llevarlo a cabo, estudio, documentación, análisis, etc...
Lo más "simple" es hacer lo que estás haciendo tú, coger un código fuente de otro que sea libre y ahora debes analizarlo, estudiarlo, eliminar lo que no te interese, etc. y así poco a poco hasta dejarlo con lo mínimo que necesitas.
Eso o tratar de resolver los errores que te salen al compilar.

También puede que en algún paquete de componentes encuentres uno que implemente jabber, no sé si la JVCL, la Indy, etc.
Responder Con Cita
  #30  
Antiguo 16-03-2010
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Hola,

Yo realmente no sé nada de Exodus o Jabber. Es más, ni siquiera de mensajería instantánea porque no la uso.

Sin embargo, creo que también se podría optar por hacer lo inverso. Es decir, en lugar de partir de un cliente hecho, ¿por qué no partir de cero aun cuando no se pretenda implementar todas las funciones?

Es decir, dado que esto es para una tarea de Facultad o algo similar; creo que es válido plantearse la implementación de un cliente sencillo que ejecute funciones básicas. Y en ese sentido puede ser algo asequible sin tener que enredarse en el código fuente de un cliente completo y maduro.

Este documento, parece describir de buena manera el protocolo XMPP en el que se basa Jabber. Y dado que este protocolo está basado (o eso creo) en XML, es algo relativamente sencillo de manejar con Delphi.

El documento (parece que es la tesis de alguien) comienza mostrando, de manera muy clara, lo básico para registro, autenticación y envío de un mensaje. Todo el documento consta de sesenta páginas, así que es digerible, sobre todo porque no parece ser la especificación IETF -que nadie entiende - sino algo mucho más claro.

En fin, yo consideraría darle una revisada y ver si se puede partir de cero con miras a hacer algo sencillo.

// Saludos
Responder Con Cita
  #31  
Antiguo 17-03-2010
Avatar de fide_uci
fide_uci fide_uci is offline
Miembro
 
Registrado: ene 2009
Ubicación: Cuba - La Habana
Posts: 226
Poder: 18
fide_uci Va por buen camino
Amigos yo los entiendo. Pero el problema es que yo conozco muchisimas cosas sobre el protocolo y tambien sobre la Indy. Pero cuando intento enviar cosas al servidor las envio sin problemas, pero lo que no logro es recibir nada de el.

aqui algo de codigo
Código Delphi [-]
  TCPClient.Host := 'jabber.uci.cu';
  TCPClient.Port := 5223;
  TCPClient.Connect;
  ClientHandleThread := TClientHandleThread.Create(True);
  ClientHandleThread.FreeOnTerminate := True;
  ClientHandleThread.Resume;
Eso en el Boton conectar.
Lo que tengo dudas es aqui. Es decir como le debo enviar los comandos al servidor y como recibirlos.
Código Delphi [-]
TCPClient.WriteStrings(Memo2.Lines);
Responder Con Cita
  #32  
Antiguo 17-03-2010
Avatar de fide_uci
fide_uci fide_uci is offline
Miembro
 
Registrado: ene 2009
Ubicación: Cuba - La Habana
Posts: 226
Poder: 18
fide_uci Va por buen camino
Asi seria como deberia enviar cosas, o por ejemplo con algun otro metodo?
Como hago para recibir lo que el me envia para atras?

Última edición por fide_uci fecha: 17-03-2010 a las 23:44:44.
Responder Con Cita
  #33  
Antiguo 17-03-2010
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Entonces, antes de plantearte lo grande, comienza con lo básico. Es decir, antes de liarte con el protocolo XMPP revisa cómo mandas datos (ya sea con GET o con POST) y cómo recibes la respuesta. Aquí en los foros puedes encontrar muchas referencias (busca Indy, IdHttp, etc. o bien WinInet). Una vez que tengas eso resuelto, posiblemente te convenga seguir con XMLDocument, para poder extraer la información del xml que recibas o incluso para armar el xml que mandes.

El punto, en mi opinión, es que es un poco descabellado lanzarte a un proyecto complejo sin recorrer el camino paso a pasito.

// Saludos
Responder Con Cita
  #34  
Antiguo 17-03-2010
Avatar de fide_uci
fide_uci fide_uci is offline
Miembro
 
Registrado: ene 2009
Ubicación: Cuba - La Habana
Posts: 226
Poder: 18
fide_uci Va por buen camino
Exactamente eso es lo que tengo pensado ggg.
Entonses solo queda ponerme en marcha a analizar como enviar y recibir esos datos desde un componente de la Indy. Muchisimas gracias desde ya !
Responder Con Cita
  #35  
Antiguo 01-04-2010
Avatar de fide_uci
fide_uci fide_uci is offline
Miembro
 
Registrado: ene 2009
Ubicación: Cuba - La Habana
Posts: 226
Poder: 18
fide_uci Va por buen camino
Weno ya que he avanzado tanto, tengo que darles noticia.
Ya logré enviar cosas al servidor, recibir cosas del servidor XMPP y actualmente me encuentro diseñando las funciones para escribir y leer los datos en los XML que intercambio con el servidor.
Estoy pensando en hacer una dll con todas las funciones de manipulacion del XML para que otros usuarios la puedan usar y ademas no solo con delphi sino con cualquier lenguaje.
Cuando tenga algo convincente lo pongo aqui para que lo revisen y me digan que tal.

Última edición por fide_uci fecha: 02-04-2010 a las 21:41:48.
Responder Con Cita
  #36  
Antiguo 01-04-2010
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.669
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Estupendo!
Responder Con Cita
  #37  
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
Poder: 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
  #38  
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
Poder: 18
fide_uci Va por buen camino
Amigos ya he implementado las funciones con todos los parametros en PChar y con la llamada stdcall pero ahora me sale un error que es EDivByZero que no tiene nada que ver con lo que estoy haciendo.

Creo que el error se debe a que cuando creo el componente para leer y establecer los XML el parent se lo estoy poniendoa nil.

Código Delphi [-]
cXMLDoc := TXMLDocument.Create(nil);

Cuando yo lo estaba haciendo directamente en el formulario lo creaba asi.

Código Delphi [-]
cXMLDoc := TXMLDocument.Create(Form1);

Pero como en la DLL no tengo ningun componente para darle de parent parece que me esta dando ese error.

¿Alguien sabe como podria solucionar eso?

O sea como puedo crear un componente dentro de una Dll si no tengo un parent para darle ?
Responder Con Cita
  #39  
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
Poder: 18
fide_uci Va por buen camino
Asi es como me va quedando la DLL. Por favor que alguien me la revise a ver que error le encuentra.

Código Delphi [-]
library XMPPCore;

{********************************************************************************
*  XMPPCore.dll es la dll que contiene todas las funciones para la manipulacion *
*  de todos los stream XML que se envian y reciben con el cliente y el servidor.*
*********************************************************************************}

uses
  SysUtils, Classes, xmldom, XMLIntf, msxmldom, XMLDoc, XMPP_Res;

{$R *.res}

function xmpp_initialization(pTo: PChar): PChar; stdcall;
begin
    xmpp_res_Initialization;
    Result := PChar(Format(xmpp_res_initialization, [pTo]));
end;

function xmpp_login(pUserName, pPassword, pResource: PChar): PChar; stdcall;
var
  cXMLDoc: TXMLDocument;
begin

  cXMLDoc := TXMLDocument.Create(nil);
  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 := PChar(cXMLDoc.XML.Text);
  finally
    cXMLDoc.Free;
  end;

end;

function xmpp_presence(pType, pMsg, pShow: PChar): PChar; stdcall;
var
  cXMLDoc: TXMLDocument;
  vStrUtils: String;
begin

  cXMLDoc := TXMLDocument.Create(nil);
  try
    cXMLDoc.XML.Text := xmpp_res_presence;
    cXMLDoc.Active := True;
    vStrUtils := pType;
    if pMsg <> '' then
      cXMLDoc.DocumentElement.SetAttributeNS('type', '', vStrUtils)
    else
      cXMLDoc.DocumentElement.SetAttributeNS('type', '', 'avaliable');
    if pMsg <> '' then
      cXMLDoc.DocumentElement.ChildNodes['status'].Text := pMsg;
    if pShow <> '' then
      cXMLDoc.DocumentElement.ChildNodes['show'].Text := pShow;
    Result := PChar(cXMLDoc.XML.Text);
  finally
    cXMLDoc.Free;
  end;

end;

exports
   xmpp_initialization, xmpp_login, xmpp_presence;

begin
end.
Responder Con Cita
  #40  
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
Poder: 18
fide_uci Va por buen camino
Les digo que el error es con la creacion del componente de XML por que cuando llamo a la funcion

Código Delphi [-]
function xmpp_initialization(pTo: PChar): PChar; stdcall;

La cual no crea ningun componente XML, me devuelve el resultado sin ningun problema.
Pero cuando intento llamar a algunas de las otras entonces me da ese error.

EDivByZero que es la excepcion matematica de cuando se hace una division x 0.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Recompilar programas de TURBO PASCAL en DELPHI amfm Varios 3 30-11-2009 09:40:00
Recompilar vcl.bpl - bug #9344 juanmdq Varios 0 26-06-2008 13:45:45
Recompilar componente yomismo24 C++ Builder 0 02-10-2007 19:00:59
¿cambiar ibx a fbclient.dll? ¿como recompilar? pvizcay Firebird e Interbase 11 10-04-2007 20:07:01
Recompilar de Delphi 3 a Delphi 5 Theophile2286 Varios 2 25-12-2006 12:53:05


La franja horaria es GMT +2. Ahora son las 16:09:11.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi