• Jueves 22 de Mayo de 2025, 05:06

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - Eternal Idol

Páginas: 1 ... 116 117 [118] 119 120 ... 205
2926
C++ Builder / Re: Llamada A Createprocess
« en: Lunes 15 de Enero de 2007, 18:25 »
¿Con el notepad va bien? Si usas el programa que te dije antes podes ver la linea de comandos del instalador tanto cuando le das doble click como cuando lo ejecuta tu programa ... comparalas. Y de ultima depura el instalador ...

2927
C++ Builder / Re: Llamada A Createprocess
« en: Lunes 15 de Enero de 2007, 18:01 »
Cita de: "desire"
Pues se me queda colgado , con el administrador de tareas , me pone programa no responde, creo que tiene que ser por culpa del setup.exe, xq no es un ejecutable cualquiera sino que es un instalador hecho con el installshield, sabes tu si influye en algo?
No lo se. ¿Que pasa si le das doble click a ese ejecutable? Supongo que no se quedara colgado ...

2928
C++ Builder / Re: Llamada A Createprocess
« en: Lunes 15 de Enero de 2007, 17:00 »
Cita de: "desire"
Si pongo infinite el programa se me queda colgao no se lanza nada,en cambio si pongo pej 5000 se me ejecuta antes la llamada CreaDatosTablas antes que el setup y no puede ser.

Muchas gracias por la ayuda que me estas dando.
¿Seguro que no se lanza nada? ¿Comprobaste en el taskmanager? Podes usar el Process Explorer para verlo:
http://www.microsoft.com/technet/sysintern...ssExplorer.mspx

Si pones 5000 pasaran 5 segundos, al ver que el proceso todavia existe se dara el timeout y entonces tu codigo seguira ejecutandose pese a que el setup no haya terminado ... ¿Tiene GUI el setup ese?

2929
C++ Builder / Re: Llamada A Createprocess
« en: Lunes 15 de Enero de 2007, 16:27 »
Depuralo ...

Este codigo espera al notepad y funciona siempre:
Código: Text
  1.  
  2. #include <windows.h>
  3.  
  4. void main()
  5. {
  6.   STARTUPINFO si;
  7.   PROCESS_INFORMATION pi;
  8.   ZeroMemory(&si, sizeof(si));
  9.   si.cb = sizeof(si);
  10.   ZeroMemory(&pi, sizeof(pi));
  11.   if (CreateProcess(NULL, "notepad", NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi))
  12.   {
  13.     WaitForSingleObject(pi.hProcess, INFINITE);
  14.     CloseHandle(pi.hProcess);
  15.     CloseHandle(pi.hThread);
  16.   }
  17. }
  18.  
  19.  

2930
C++ Builder / Re: Llamada A Createprocess
« en: Lunes 15 de Enero de 2007, 16:08 »
¿Probaste abriendo un proceso conocido con GUI? Lease notepad, calc, etc.

2931
C++ Builder / Re: Llamada A Createprocess
« en: Lunes 15 de Enero de 2007, 14:17 »
Cita de: "desire"
Hola, lo he dejado como tu me has dicho pero ahora me sigue saliendo lo del error
998.
He buscado a que hace referencia dicho error pero no he encontrado nada al respecto.
La MSDN dice esto:
ERROR_NOACCESS
998 Invalid access to memory location

Comproba que el path sea correcto, proba cosas como abrir el notepad ...

2932
C++ Builder / Re: Llamada A Createprocess
« en: Lunes 15 de Enero de 2007, 13:35 »
Cita de: "desire"
Lo he pueso y no me ha dado ningun error pero de todas maneras me sigue ocurriendo el problema de que no espera que se termine el ejecutable que llamo para continuar con el resto  de codigo que tengo.
Nunca va a esperar ya que tenes un while(false) ... false es 0, entonces no entra jamas al bucle, no hace falta ningun bucle asi que lo mejor es que lo borres directamente.

Tambien fijate el switch ... no usas case y entonces toma eso (donde no escribiste OBJECT sino OBJET como una etiqueta).

2933
C++ Builder / Re: Llamada A Createprocess
« en: Lunes 15 de Enero de 2007, 13:00 »
¿Viste el ejemplo de la MSDN? http://msdn2.microsoft.com/en-us/library/ms682512.aspx

StartInfo debe tener todos sus campos a 0 excepto cb que tiene que ser igual a sizeof(STARTUPINFO). ProcessInfo tambien debe tener todos sus campos a 0.

2934
ASM (Ensamblador) / Re: Claves En El Registro De Windows Con Asm
« en: Lunes 15 de Enero de 2007, 10:34 »
¿Que te hace pensar que MS-DOS puede modificar el registro del sistema de Windows? Cuando se desarrollo MS-DOS no existia Windows ... para hacer esto necesitas un programa que se ejecute bajo Windows (ejecutable tipo PE) y que use la API del mismo para acceder al registro. Una alternativa seria acceder al archivo que guarda el registro del sistema pero es una tarea demasiado ardua como para valer la pena hacerlo (obviamente que seria "offline" y no mientras Windows este en ejecucion).

¿Que es lo que queres/necesitas exactamente? Se puede hacer con bastante facilidad en asm para Windows ...

2935
C++ Builder / Re: Llamar A Un Ejecutable
« en: Lunes 15 de Enero de 2007, 09:28 »
Cita de: "desire"
Muchas gracias por tu contestacion pero no se donde encontrar el codigo
de la funcion WaitForSingleObject , ya que me dice
[C++ Error] fconfig.cpp(78): E2268 Call to undefined function 'WaitForSingleObjet'
Si copiaste y pegaste la linea (y no es un error al transcribir aca) mira otra vez el error que devuelve el compilador:
[C++ Error] fconfig.cpp(78): E2268 Call to undefined function 'WaitForSingleObjet'

Falta una c.

2936
Windows / Re: Campaña Contra Windows Vista
« en: Domingo 14 de Enero de 2007, 17:26 »
Que no esten documentadas no significa que hagan lo mismo que otras pero mas lento. Por lo tanto sigo esperando UN ejemplo de dos funciones, una no documentada y otra que si, en el cual una de las mismas sea mas rapida.

Se que aca dificilmente alguien haya siquiera depurado un programa de Microsoft en su vida pero si lo hicieran se darian cuenta de que el 99% de los mismos usa la API de Windows directamente (lease Kernel32, User32, etc) y no NTDLL; si existen diferentes capas es por una razon, Microsoft originalmente definio a NT como un S.O. con diferentes subsystems, estos se apoyan en NTDLL y son entre otros el mas conocido Windows, Posix y OS/2. Ademas hasta proveen los PDBs con la informacion de Debug para obtener los nombres de las funciones ...

Por otro lado la API de Windows REAL, la que habria que usar esta HIPER documentada, y le da 1500 vueltas al man con la MSDN. Si alguien quiere desarrollar usando la NTDLL sabe que no es algo seguro y que Microsoft puede cambiarla en cualquier momento.

Que no esten documentadas no significa que hagan lo mismo que otras pero mas lento. Por lo tanto sigo esperando UN ejemplo de dos funciones, una no documentada y otra que si, en el cual una de las mismas sea mas rapida.

2937
C/C++ / Re: Puerto Paralelo (xp)
« en: Domingo 14 de Enero de 2007, 09:36 »
Cita de: "..::[JiOn
::.."] Una pequeña duda, perdon por desvirtuar el tema central. Porque un "SO de verdad" no se puede acceder a esos puertos? Que tiene de bueno eso?. Y como hacen a funcionar las impresoras que se conectan por el puerto paralelo en XP? O lo que estan tratando de de decir es que en la gama NT se accede a estos puertos de una manera diferente que en 9x?
En esa direccion esta explicado:
http://www.geekhideout.com/iodll.shtml

Es por seguridad, asi como se separan los espacios de memoria, no se permite el acceso directo al hardware ya que se considera una accion privilegiada y peligrosa. Ademas de el problema que acarrea el acceso simultaneo por diferentes procesos que no se sincronizan entre si en lo mas minimo. Las impresoras en NT funcionan mediante un par de pasos, primero los procesos usando la API de Windows encolan sus trabajos en un servicio (el spooler) y este se encarga de pasar estos trabajos a los drivers del subsystem de impresion cuyo trabajo es traducir los comandos "universales" que se pasan con la API de Windows a los especificos que aceptan las impresoras (PCL, PostScript, etc) y finalmente estos pasan esos datos a los drivers de modo Kernel que se comunican con el puerto de la impresora, ya sea USB (Usbprint) o paralelo (Parport), que al ser codigo privilegiado si tiene acceso al hardware directamente. Dificilmente usen IN e OUT directamente ya que los drivers en NT tienen el objetivo de ser portables entonces se usan funciones o macros del HAL para este tipo de acceso.

2938
C/C++ / Re: Puerto Paralelo (xp)
« en: Domingo 14 de Enero de 2007, 09:23 »
Cita de: "jojojorge"
hola a todos

Eternal Idol
como me anudaría el CreateFile para poder usar el puerto. en cuanto lei tu post me puse a investigar aunque me tardare el triple de lo normal porque desgraciadamente no se ingles aunque me las arreglo como puedo.
si puedes podrías darnos una pista mas ya que no me gusta mucho usar esos hacks "horrendos"

salu2 y a investigar
Te dejo un recorrido por la MSDN, con documentacion y codigo de ejemplo.

Empezamos por CreateFile que es la funcion fundamental:
http://msdn.microsoft.com/library/default..../createfile.asp

Leela toda para entender los parametros necesarios y posibles a la hora de abrir. En el primer parametro ya vas a ver que se indica como abrir un puerto com (\\\\.\\COM1). Segui leyendo y en la parte de aclaraciones (Remarks) vas a encontrar el titulo Communications Resources donde te cuenta que tenes que usar el parametro OPEN_EXISTING siempre para dwCreationDisposition  y NULL para hTemplateFile y como no nos deja un enlace para mucha mas informacion especifica:

http://msdn2.microsoft.com/en-us/library/aa363196.aspx

En este ultimo enlace tenes 3 partes bien diferencidas, el About es pura y exclusivamente explicativo (teorico) mientras que el Using es totalmente practico e incluye ejemplos (codigo) utiles. Por ultimo el Reference es como su nombre lo indica una referencia con las funciones, codigos de control y estructuras usadas.

Seguramente despues necesites ReadFile y WriteFile, estas estan enlazadas en el About.

2939
Visual C++ / Re: Timers
« en: Domingo 14 de Enero de 2007, 09:09 »
Cita de: "JuanK"
Ya que retoman lo de QueryPerformanceCounter and QueryPerformanceFrequency, las clases que usa DirectX en DXUtil estan implementadas haciendo uso de estas dos funciones de la API de windows. :P.
Si, siempre que estan disponibles, son las funciones ideales ... no hay que olvidarse de ligarlas a un procesador en particular si estamos en una maquina con mas de uno.

2940
Visual C++ / Re: Timers
« en: Sábado 13 de Enero de 2007, 19:47 »
Cita de: "carmamezo"
Supongo que cuando dices "Windows" te refieres a Windows 95/98/Millenium/NT/2000/XP/vista...  Windows CE es un sistema operativo en tiempo real,  :whistling: .

Pero es cierto, tienes razón, aunque no cabe duda que Windows (no CE) proporciona una serie de funciones que permiten cierto control en tiempo real de los programas, tiene una API bastante potente en ese aspecto....
No, yo hablaba de Windows 3.11 ... control superficial e incompleto ya que no se pueden manejar las prioridades de las interrupciones y por lo tanto es imposible asegurar que un codigo sera ejecutado o no en el tiempo requerido ...

2941
Visual C++ / Re: Timers
« en: Sábado 13 de Enero de 2007, 19:00 »
En cuanto al RDTSC creo que la Wikipedia explica bien las razones para no usarlo:
http://en.wikipedia.org/wiki/RDTSC

2942
Visual C++ / Re: Timers
« en: Sábado 13 de Enero de 2007, 18:58 »
Si es un problema de ejecucion en tiempo real entonces hay que usar un S.O. que lo permita y no Windows.

2943
Diseño de Algoritmos / Re: Generacion De Archivos .bat
« en: Sábado 13 de Enero de 2007, 16:46 »
Cita de: "dBase3"
Con el tema que dices, por si sirve para que cambie la idea equivocada que pueden tener:
Ahora resulta que podes publicar tu spam ya que tu nick tiene relacion ... impresionante, realmente impresionante. ¿Idea equivocada? Te recomiendo que abandones esa actitud de una vez, ya se te dijo claramente que estas haciendo SPAM, deja de hacerlo y punto. Da exactamente lo mismo que sea una herramienta "superdepurada" o un software experimental, que sea propietario, freeware u Open Source, estas haciendo PUBLICIDAD sobre TUS HERRAMIENTAS con enlaces a TU PAGINAS y sin que NADIE lo haya pedido y el enlace que dio solocodigo es muy claro, ABRISTE UN TEMA PARA PUBLICITAR ESO.

2944
Diseño de Algoritmos / Re: Generacion De Archivos .bat
« en: Sábado 13 de Enero de 2007, 16:03 »
Cita de: "dBase3"
Pero si uso una herramienta y resulta que está en mi pagina, es normal que ponga el link ahi donde esté. Además es a nadie obligo, la herramienta es opcional.

Hago informática de manera diferente. A mi manera y con mis herramientas ¿Es positivo?.
El tiempo que gasto en responder a los problemas de los usuarios y en publicar mis soluciones, lo puedo dedicar a ir a la playa también
¿Soluciones? Parece que no te diste cuenta todavia pero este es un foro de PROGRAMACION y no de pedido de herramientas a medida para que puedas poner enlaces a tus paginas.

2945
Diseño de Algoritmos / Re: Generacion De Archivos .bat
« en: Sábado 13 de Enero de 2007, 15:30 »
Cita de: "dBase3"
SI NO LES GUSTA MI SOLUCION, PORQUE NO DAN UNA MEJOR

Asi empieza el mensaje anterior a tu respuesta: "Bueno ya solucioné el problema",

¿Que quiere decir entonces que nos publiques una direccion DE TU PAGINA? Que estas haciendo spam y encima estas tratando de justificarte ridiculamente. BASTA DE SPAM, NADIE TE PIDIO LO QUE ESTAS PUBLICANDO, ESTE NO ES EL LUGAR PARA HACER PUBLICIDAD DE TU PAGINA.

2946
C/C++ / Re: Ayuda De Comprension Del C
« en: Sábado 13 de Enero de 2007, 12:50 »
En ese codigo tenes dos funciones: holamundo y main. main es la funcion standard para comenzar la ejecucion de un programa, el punto de inicio. Y desde main se esta llamando a holamundo, no en la linea que decis, asi: holamundo();.

Te recomiendo que uses algun tipo de manual ya que son cuestiones muy basicas.

2947
Visual C++ / Re: Timers
« en: Sábado 13 de Enero de 2007, 11:17 »
Cita de: "JuanK"
6- Interrelacionado con lo anterior, no usuaria la función int ResultadoPIC() y haria la implementación directamente en el código para evitar los excesivos cambios de contexto que pueden llegar a ser desgastantes debido a que los llamados se hacen X veces desde el loop.

 
Solo a modo de aclaracion lo que se conoce comunmente como cambio de contexto sucede cuando se pasa de un proceso a otro.

Tu solucion iria bien pero me parece que el problema es diferente, no quiere obtener una lista de valores e imprimirlos sino mantener un valor actualizado (solo) en la pantalla. Al menos es lo que entendi yo, si fuera asi es mejor hacerlo con varios hilos encargados de cada tarea, siempre tendria un delay en la parte de output pero el input del PIC siempre llegaria a completarse. Si es que necesita obtener muchos valores y despues imprimirlos es mejor hacerlo como decis, obtenerlos todos en un bucle, almacenarlos y finalmente procesarlos.

2948
Windows / Re: Campaña Contra Windows Vista
« en: Sábado 13 de Enero de 2007, 10:55 »
Dicen que el que calla otorga ...

2949
Diseño de Algoritmos / Re: Generacion De Archivos .bat
« en: Sábado 13 de Enero de 2007, 10:34 »
Cita de: "eldavi"
Bueno ya solucioné el problema por lo visto no mucha gente aqui conoce este tipo de comandos o quizás no esten dispuestas a ayudar, de todas maneras agradezco igualmente las visitas a la discusión planteada, y dejo la información que conseguí recabar en internet para aquellos que igual que yo necesiten ayuda y no obtengan respuesta.

Por mi parte no te ayude ya que no conozco la sintaxis de los BAT; bien por haber puesto esos comandos, seguramente le seran utiles a mucha gente.

Cita de: "dBase3"
El bat esta un poco anticuado puedes hacer lo mismo con el autoexecute que es bajo windows

DEJA DE HACER SPAM.

2950
Visual C++ / Re: Timers
« en: Sábado 13 de Enero de 2007, 00:32 »
¿Hiciste las pruebas que te dije? No creo que sea ninguna solucion hacer eso, el problema esta en tu codigo y no en la capacidad de ejecutarlo cada X tiempo con una mayor resolucion ... por algo no te funcione ni con un bucle.

Páginas: 1 ... 116 117 [118] 119 120 ... 205