Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Colaboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-10-2005
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.939
Poder: 27
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
El problema que describes es generico, asi que cambiando de lenguaje no se va a a solucionar.

Se soluciona es con un entendimiento mas completo de lo que son threads:

http://www.pergolesi.demon.co.uk/prog/threads/ToC.html

http://delphi.about.com/od/kbthread/

http://www.midnightbeach.com/jon/pub.../MsgWaits.html

Pero como aprenderas rapido, la programacion de threads es de locos. La verdad no se ha llegado a una solucione completamente clara pero si hay ya concenso en como hacer las cosas.

La forma mas estable (la tradicional es usar WaitFor) es aprovecharse de las API de mensajes (asi como los que usan los controles de windows!). La idea es que se llama mensajes y un evento "escucha" cuando le llega el mensaje de que el thread X ya se completo, y espera a los otros. Es muy facil de programar.

Pero en definitiva, mejor lee largo y tendido sobre el tema, para que veas la luz
__________________
El malabarista.
Responder Con Cita
  #2  
Antiguo 21-10-2005
nicohug nicohug is offline
Registrado
 
Registrado: oct 2005
Posts: 9
Poder: 0
nicohug Va por buen camino
Gracias

Bueno muchisimas gracias por laa respuestas pero sigo pensando que el problema esta en la forma en que delphi implementa los servicios web, y no en los hilos en si, ya que lo que quiero hacer lo he hecho facilmente en una aplicacion normal y no me ha dado ningun problema. Bueno si por casualidad algien sabe como hacer andar el metodo DeleteFile en un Servicio Web (siempre el problemita esta del lado del servidor) y el metodo WinExec tambien se lo agradeceria (aclaro que estos metodos como a todos ustedes funcionan de maravilla en una plicacion normal, el drama como vengo diciendo, es cuando quiero implementar lo mismo con un servicio web).
Saludos y gracias
Responder Con Cita
  #3  
Antiguo 22-10-2005
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.939
Poder: 27
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
El problema no es de la implementacion de Delphi sobre servicios Web. Es simplemente que el desarrollo Web es fundamentalmente diferente de las aplicaciones normales. Y definitivamente, no existe razon en esta tierra de llamar a ProcessMessages.

Ademas, que WinExec es un API obsoleta y se debe usar CreateProcess, en fin...

Entiende que un servicio web o pagina web YA esta dentro de un proceso y de un thread. Lo que quieres es llamar a procesos externos, y por default, no es asi de facil ya que el servicio web debe estar corriendo en una cuenta de usuario limitada (el usuario anonimo) lo que limita mucho lo que se puede hacer.

Una solucion muy simple, seria crear un componente ActiveX, en el cual puedes programar de la forma local como estas acostumbrado, pero debes crearlo como EXE y darle los permisos respectivos.

Con respecto a lo borrar archivos, no veo que problema puedas tener, excepto uno de seguridad o de concurrencia...
__________________
El malabarista.
Responder Con Cita
  #4  
Antiguo 22-10-2005
nicohug nicohug is offline
Registrado
 
Registrado: oct 2005
Posts: 9
Poder: 0
nicohug Va por buen camino
Ok

Ok gracias voy a probar lo que me decis es cierto uno a veces se enoja con la herramienta y el problema muchas veces no es de ella sino que no la conoce bien, lo de eliminar archivos la verdad que me sigue llamando la atencion y suponia que debia ser como vos me decis un problema de seguridad, no sabes si eso se puede configurar o las limitaciones son inherentes al hech de trabajar con un servicio web?
Responder Con Cita
  #5  
Antiguo 24-10-2005
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.939
Poder: 27
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Si. Si el servicio web corre sobre IIS se le asigna por defecto el permiso de usuario anonimo, el cual, por obvias razones, no puede borrar archivos.

Una solucion es configurando el sitio web para que use autenticacion de windows, si es el caso que el servicio corre en una intranet.... de lo contrario toca impersonar la cuenta de usuario.

Otra solucion es darle al usuario anonimo (NombreEquipo\ASPNET sobre Windows2000 y Windows XP o NT Authority\Servicio Red sobre Windows 2003 en español o NT Authority\Network Service sobre windows 2003 en ingles) permisos de modificacion sobre la carpeta del archivo. Es mejor que todo lo modificable quede en una carpeta <> root del sitio web asi es mas facil manejar la seguridad...
__________________
El malabarista.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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


La franja horaria es GMT +2. Ahora son las 21:14:40.


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