![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
||||
|
||||
|
Cita:
![]() Bromas aparte, también pensé en esa posibilidad roman, pero en ese caso, un usuario solo puede tener un chat privado con otro usuario. Uniendo las dos ideas: El objeto que se asocie con un usuario sería un TobjectList, que se creará cuando se abra el primer chat privado, y dentro de esa lista de objetos, estan enumeradas todos los chats privados. Edito: Mi idea es que se cree el TobjectList sobre el usuario del chat, es decir, yo entro en el chat, pues mi Objets[itemindex] es donde se crea la lista de ventanas. De esta forma tienes un acceso rápido a todas los privados. Con la forma de roman tienes que recorrer todos los elementos del listbox para saber si tiene privados abiertos o no. Con lo que yo propongo, accedes a un solo objeto y despues deduces qué usuario es. Acabo de caer en un detalle. Yo abro un privado con pablo. Pablo se va del chat, pero deja abierto el privado. Ahora yo no puedo acceder al privado con pablo, porque su objeto se abrá liberado. saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. Última edición por Lepe fecha: 20-10-2005 a las 18:12:49. |
|
#2
|
||||
|
||||
|
Cita:
Esa lista, la de pablo, susana, teresa, etc., es la que tú verías en tu ventana, y sólo necesitas (a lo sumo) una ventana de privado por cada persona en esa lista. En mi ejemplo, el usuario mantiene dos conversaciones privadas, con pablo y mamá. No compliquemos las cosas. Y en mi opinión, en este caso es más adecuado un TStrings, como lbUsuarios.Items, que un TObjectList, precisamente porque el TStrings mantiene además el nombre del usuario correspondiente. EDITO: Para que quede más claro: si teresa tiene conversaciones privadas con otras personas, eso no importa, ya que ella tendrá su propia ventana de usuarios en su aplicación. // Saludos Última edición por roman fecha: 20-10-2005 a las 18:13:10. |
|
#3
|
||||
|
||||
|
He editado mi mensaje y puede que pases esto por alto:
Acabo de caer en un detalle. Yo abro un privado con pablo. Pablo se va del chat, pero deja abierto el privado. Ahora yo no puedo acceder al privado con pablo, porque su objeto se abrá liberado.
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
#4
|
||||
|
||||
|
Cita:
Yo creo Lepe, que tú estás pensando en lo que sería la aplicación servidor, en donde, en efecto, es necesario mantener la lista de privados de cada persona. Realmente es un camino largo para llegar al chat... // Saludos |
|
#5
|
||||
|
||||
|
En realidad estaba pensando en conexiones peer to peer para los chats privados.
Un ejemplo era una version antigua de Filetopia donde se usaba el servidor para todos los usuarios, pero los chats privados (DCC) eran p2p. saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
#6
|
|||
|
|||
|
Holas a todos, gracias por ayudarme la verdad estoy releyendo todo para poder entender bien estas cosas que me dicen, lo pruebo esta noche y les comento como me fué. Hay algo que no tengo claro ustedes dicen que cree una ventana en tiempo de ejecución y le agrege al objeto Tlistbox, hasta ahí todo claro, pero es que ya tengo la ventana creada en tiempo de diseño y en disponible para luego crearla en tiempo de ejecución o entendí mal. por la otra opción si creo la ventana en tiempo de ejecución como le meto el Memo para escribir los mensajes.?????
|
|
#7
|
||||
|
||||
|
Hola,
Cita:
![]() |
|
#8
|
||||
|
||||
|
Creo que es importante que Clantt entienda lo que hay en el fondo.
Cita:
Estás creando la plantilla de un formulario. Es decir, el modelo con el cual puedes crear formularios. Cuando en código pongas:
lo que estás haciendo es crear un formulario basado en la plantilla TVentanaPrivado. Estás creando un formulario con base a lo que diseñaste en el IDE. Por tanto, este nuevo formulario tendrá ya dentro su Memo y demás componentes que hayas insertado durante el diseño. No se trata de agregarlas nuevamente a mano. Cuando pones un formulario en "Available" durante el diseño, le estás diciendo al IDE que cree en automático un formulario basado en la plantilla, pero puedes crear muchos más formularios basados en la misma plantilla. Y la forma de acceder en código a sus componentes, métodos y propiedades, es através de una referencia al formulario creado. Esta referencia puede ser una variable como Ventana. Esta idea de las plantillas, es el concepto primario a entender en general en las clases. Una clase es una plantilla o molde que permite crear objetos a su imagen y semejanza. Por ello te recomiendo nuevamente que te tomes un tiempo para leer en algún libro los conceptos básicos. // Saludos |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|