Autor
|
Tema: Como hacer que un comando winsock este tambien en otro Form (Leído 2,766 veces)
|
Log-On
Desconectado
Mensajes: 5
|
Buenas. Bien, les explico, Yo tengo un winsock, y en ese winsock me llegan los comandos que me ejecuta un servidor. pues bien, Yo quiero que al crear otro form, creo un check y si ese check esta cheakado, me remplaze por ejemplo a por b. asi si el servidor me envia a yo recibire b y ejecutare b. Direis para que sirve, pues un juego virtual el cual lo tengo desde un WebBrowser y leo lo que me envia el servidor y lo modifico. Así puedo modificar lo que me de la gana. Lo de que remplaze si esta chekado, eso lo se hacer pero no se porque, cuando lo compilo y cheko ese reemplazamiento, no me remplaza y creo que es porque en el form 2 ( ese que hay para chekar o no ) no hay winsock pero si ya tengo un winsock en el form1 y alli leo lo que me envia el servidor, no podre en el form 2 otravez leer. Si quieren les pongo mi Proyecto y lo miran porque explicarlo es un lio. Solo quiero que me respondan a esta pregunta, ¿Se puede pasar una conexion winsock a otro form y que esa conexion siga en pie y poder reemplazar datos que me lleguen?
GRacias y perdonen por no expresarme bien.
|
|
|
En línea
|
|
|
|
rob1104
Desconectado
Mensajes: 340
Usuario común
|
Claro que si, suponiendo que el control winsock se llama winsock1 y el formulario 2 se llame form 2 lo mandas llamar asi Saludos
|
|
|
En línea
|
Sin análisis de requisitos o sin diseño, programar es el arte de crear errores en un documento de texto vacío.
|
|
|
Log-On
Desconectado
Mensajes: 5
|
No se porque. Mira esto Private Sub SockServer_DataArrival(ByVal bytesTotal As Long) On Error Resume Next Dim ServersData As String SockServer.GetData ServersData [b]Form3.SockServer[/b] ' [Aqui van todos los Filtros] If dance.Value = 1 Then ServersData = Replace(ServersData, "dance", "") End If SockClient.SendData ServersData If Check1.Value = 1 Then Text1.Text = ServersData & vbNewLine & Text1.Text End If End Sub me salta un error... Compile error: Method or data member not found. y me subrralla .SockServer y es asi como se llama el winsock Gracias de antemano
|
|
|
En línea
|
|
|
|
ReViJa
|
Form3.SockServer pero ahi solo lo llamas. Prueba esto y veras como hace lo mismo. Form3.Text1
Aunque tengas el "componente" tendras que mandarle algo, no?
|
|
« Última modificación: 8 Septiembre 2006, 13:42 pm por Tesis »
|
En línea
|
|
|
|
Log-On
Desconectado
Mensajes: 5
|
Aver si me explico, tengo en el form1 el SockServer y tengo que ponerlo en el Form3, que hago en el form3 un form1.SockServer o que? Si hago un MsgBox me vale, yo creo que esta en el Private Sub, tengo que encontrar la forma de hacer que si me llegan datos en el SockServer del form1 (SockServer_dataArrival) en el form 3 haga lo que esta en el codigo que esta alli dentro del Private Sub SockServer_dataArrival.
|
|
« Última modificación: 8 Septiembre 2006, 14:09 pm por Log-On »
|
En línea
|
|
|
|
Chief
Desconectado
Mensajes: 232
Ind. Arg.
|
NUUUU, lo que haces con Form3 es llamar a un objeto del modulo Form3 desde otro modulo que puede ser el Form1, ocea si pones Form3.SockServer estas llamando a SockServer del modulo Form3, no lo estas "poniendo" en el Form que lo llamas. Ahora con eso, podes usar los metodos que tiene SockServer del modulo Form3 en el Form1 por ejemplo.
Ocea, mmmmm, queres saver la ip local y el SockServer esta en el Form1 , pero vos lo queres llamar desde el Form3, entonces pondrias :
sVar = Form1.SockServer.localip
Tendes ? Despues lo que queres hacer no te entiendo.
|
|
|
En línea
|
sr. oscuro
|
|
|
NYlOn
Desconectado
Mensajes: 842
OOOOHHHHHH, TARAGÜIIII xDDDDDD
|
Tambien podes usar With. Es simplemente por comodidad, por ejemplo si usas mucho Form1.SockServer.CualquierPropiedad pones With Form1.Sock... y si apretas el . (punto) te va a mostrar todas las propeidades del SockServer. Se usa asi: With Form1.ScokServer .RemotePort = "5000" 'Podes poner otros codigos que no tengan nada que ver con el SockServer Text1.Text = "Hola" Winsock1.SendData "Este socket es de este formulario" MsgBox .LocalIp 'Aca mostras la ip local del SockServer (del formulario 1) End With 'No te olvides de cerrarlo
Espero que se alla entendido, saludos.-
|
|
|
En línea
|
|
|
|
Castord
Desconectado
Mensajes: 60
|
Viejo... sos inentendible... te respondo segun lo que entendi...
si queres que cierta parte de tu codigo se ejecute en el evento DataArrival del winsock respectivo... Para empezar, no importa que formulario tengas visible en ese momento (si estas en el form3 o form1), ahora, si importa que form1 este cargado con el socket abierto y conectado a su anfitrion. Esta es la solucion que propongo para el problema que tenes (segun mi parecer)... En Private Sub Winsock1_DataArrival(bla as bla) as bla 'aqui va tu codigo, cierto? 'en vez de colocar el codigo completo aqui, propongo que lo cortes y te lo lleves a un modulo publico declarado como funcion o subrrutina, o, es su defecto, a tu form3 como funcion o subrrutina publica. entonces, seria algo asi (suponiendo que la funcion no recibe ni devuelve argumentos)...
FuncionDeTuViejoCodigo 'si esta en un modulo form3.FuncionDeTuViejoCodigo 'si esta en el form3
end sub
Esto se va a ejecutar siempre que el form1 este cargado y con el control en estado 7 y recibas un dato. Asi, tenes la posibilidad de controlar el proceso desde un formalario <> form1. Si lo que queres es guardar lo datos (integer, string por ej.) podes hacerlo cargandolo en una variable o guardalo directamente en tu dispositivo preferido. Si recibis datos de tipo binary recomiendo que armes los paquetes para evitar corrupciones, olvidate aqui de las variables automaticas o globales.
|
|
|
En línea
|
Desde Asunción - Paraguay /*Es una ***** pero igual amo mi país!*/
|
|
|
Log-On
Desconectado
Mensajes: 5
|
Bueno sin leer nada lo hize pero leyendo tambien lo hubiera echo. lo que he echo es que si tengo un Text en form3 por ejemplo, en el form1 llamo al text del form 3 y lo ejecuto en el form uno, asi es muy simple ^^
Gracias por responder y se que costaba entenderme x'D
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
¿Como sustituyo este codigo por otro para que no salte el AV?
« 1 2 »
Programación Visual Basic
|
xivan25
|
12
|
6,046
|
1 Abril 2013, 15:46 pm
por raul338
|
|
|
[solucionado] Como puedo hacer este comando simple?
GNU/Linux
|
venadHD
|
8
|
3,511
|
15 Agosto 2015, 20:32 pm
por venadHD
|
|
|
Pornhub también es hogar de gameplays como este de No Man's Sky que fue ...
Noticias
|
wolfbcn
|
0
|
1,479
|
1 Agosto 2016, 14:44 pm
por wolfbcn
|
|
|
No es lo mismo crear un archivo con este comando que este otro
GNU/Linux
|
wilivarob
|
0
|
1,984
|
13 Junio 2017, 19:30 pm
por wilivarob
|
|
|
¿Por qué será que me banearon de este otro foro también?
Foro Libre
|
Tachikomaia
|
2
|
1,773
|
24 Noviembre 2023, 19:58 pm
por nobie
|
|