Buenas, pues es una pregunta un poco concreta, hay alguno de estos lenguaje que sea multithread?
- Perl
- Python
- Ruby
Tengo un proyecto casi acabado en AutoIt3 y no es multithread, por lo que no funciona como quiero que funcione, y no puedo continuar, quería saber si alguno de esos 3 lenguajes es multithread y sea compatible con AutoIt, tengo casi 2.000 lineas en autoit y traducirlo a otro lenguaje... :-\
Mi idea era poder hacer lo siguiente, incluir los archivos *.au3, e ir llamando a las funciones creando threads desde otro lenguaje que soporte au3 :-\ :-\
Se que con C/C++ lo de los threads es sencillo, pero la interfaz gráfica la tengo hecha con AutoIt y no se si se puede utilizar , y crear mas de un exe e ir llamándolos es un coñazo :¬¬ :¬¬
[/size]
HOLA!!!
http://stackoverflow.com/questions/2846653/python-multithreading-for-dummies
Solo se que python si.
GRACIAS POR LEER!!!
Con Autoit lo puedes hacer sin usar threads :rolleyes:
Cita de: Danyfirex en 24 Agosto 2013, 23:17 PM
Con Autoit lo puedes hacer sin usar threads :rolleyes:
Con AutoIt no puedo llamar a mas de una función a la vez :silbar:
la respuesta ya ye la di en otros temas. :rolleyes:
Tambien se pueden crear hilos. aunque no estables al 100%
$Handle1 = DllCallbackRegister("hilo", "int", "ptr")
Func CreateThread($Handle, $struct)
$return = DllCall("kernel32.dll", "hwnd", "CreateThread", "ptr", 0, "dword", 0, "long", DllCallbackGetPtr($Handle), "ptr", DllStructGetPtr($struct), "long", 0, "int*", 0)
Return $return[0]
EndFunc
$Struct1 = DllStructCreate("Char[200];int")
DllStructSetData($Struct1, 1, 10)
CreateThread($Handle1, $Struct1)
MsgBox(0x40, "Normal", "Hola mundo")
Func hilo($x)
$y = DllStructCreate("char[200];int", $x)
MsgBox(0x40, "Desde hilo", "Soy un hilo")
EndFunc
saludos
Cita de: Danyfirex en 24 Agosto 2013, 23:59 PM
Tambien se pueden crear hilos. aunque no estables al 100%
Perfecto ;-)
Las funciones tienen que estar en una Dll o algo? o como funciona el código que me has puesto :huh:
Prueba el código cual dll? :rolleyes:
aunque con ya te dije en otro tema con AdliRegister solucionas el problema :)
Cita de: Danyfirex en 25 Agosto 2013, 01:05 AM
Prueba el código cual dll? :rolleyes:
aunque con ya te dije en otro tema con AdliRegister solucionas el problema :)
Entonces que es mejor usar :huh: :huh:
Esto?$Handle1 = DllCallbackRegister("hilo", "int", "ptr")
Func CreateThread($Handle, $struct)
$return = DllCall("kernel32.dll", "hwnd", "CreateThread", "ptr", 0, "dword", 0, "long", DllCallbackGetPtr($Handle), "ptr", DllStructGetPtr($struct), "long", 0, "int*", 0)
Return $return[0]
EndFunc
$Struct1 = DllStructCreate("Char[200];int")
DllStructSetData($Struct1, 1, 10)
CreateThread($Handle1, $Struct1)
MsgBox(0x40, "Normal", "Hola mundo")
Func hilo($x)
$y = DllStructCreate("char[200];int", $x)
MsgBox(0x40, "Desde hilo", "Soy un hilo")
EndFunc
O Esto?
AdlibRegister("Tufuncion",10*1000)
;aqui tu codigo para Buscar
Func Tufuncion()
;aqui el codigo para clikear.
EndFunc
Saludos :rolleyes:
Para lo que quieres esto es suficiente.
AdlibRegister
saludos
Si, la función es muy simple y fácil de usar, ya he solucionado el problema
Gracias :silbar:
Sarcasmo? :huh:
Cita de: Danyfirex en 30 Agosto 2013, 17:12 PM
Sarcasmo? :huh:
No, iba en serio, ya he solucionado el problema... :-\ :-(
He añadido al final AdlibUnRegister("La_Funcion")
Porque sino se me pone la CPU al 100% ;-)
para que no consuma mucho puedes poner un sleep(100) en bucle de tu aplicación. (el que la mantiene activa)
saludos