Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-03-2004
Avatar de tcp_ip_es
tcp_ip_es tcp_ip_es is offline
No confirmado
 
Registrado: ago 2003
Ubicación: Madrid
Posts: 635
Poder: 0
tcp_ip_es Va por buen camino
Question Iniciándome en el tema Intraweb

Me he instalado delphi 7 e intraweb 7 y tengo dudas a la hora de implementar mis programillas... ya que en modo diseño (dentro de delphi) mu bien, pero a la hora de llamar a los ISAPI o CGI-STANDALONE desde un navegador es un poco lioso, porque por ejemplo si quieres tener generar un cgi-standalone (exe) luego lo tienes que dejar corriendo como un servicio del w2000, hasta ahi bien, pero a la hora de llamarlo no se como hacer para que tenga una dirección lógica y no un 127.0.0.1:xxxx/exec (localhost) , yo quisiera algo asi como nombredeempresa:81/aplicacionx/exec pero esto no se como hacerlo.

Otra tema, si quisiera tener dos aplicaciones distintas debo tener corriendo dos servicios distintos?? (supongo que si pero estoy un poco verde en esto)

Si me pudieran indicar como, o algún manual en español de intraweb donde lo explique os lo agradecería por partida doble
Responder Con Cita
  #2  
Antiguo 30-03-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
No puedo aportar un manual en esta ocasión... pero si una idea importante.

un cgi, en ningun momento es un Servicio que dejarás corriendo.

Tenes que tener un web-server con soporte para cgi's (digamos, apache) bien configurado, y con una ruta virtual que apunte a la carpeta donde vas a dejar tu cgi. Digamos: /cgi-bin/, apuntando a tu carpeta c:\web\cgi\, donde colgaras los cgi's generados.

luego, invocas a tu cgi, via web-server:

http://localhost/cgi-bin/micgi.cgi

para que responda como http://www.tuempresa.com/cgi-bin/micgi.cgi, por supuesto tenes que tener el dominio tuempresa.com apuntando a la máquina donde resida. Si estas en una red local, bastará con que la máquina que corre el web-server se identifique como miempresa para poder invocarlo del a forma http://miempresa/cgi-bin/micgi.cgi.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #3  
Antiguo 30-03-2004
Avatar de tcp_ip_es
tcp_ip_es tcp_ip_es is offline
No confirmado
 
Registrado: ago 2003
Ubicación: Madrid
Posts: 635
Poder: 0
tcp_ip_es Va por buen camino
estoy de acuerdo contigo

estoy de acuerdo contigo en que un cgi no es un servicio de hecho se ejecuta y muere. Pero en el caso de Intraweb tienes que dejar corriendo el programa en si (cgi, lo que genere Intraweb, o el propio motor de intraweb apuntando a mi cgi... ) escuchando en un puerto aleatorio para que cuando lo llames : 127.0.0.1:Puertox/EXEC pueda funcionar.

Antes de meterme con el tema de Intraweb, ya he programado con cgi-standalones, y ISAPI(dll), y entiendo su funcionamiento, pero en el caso de Intraweb me pierdo.

Muchas Gracias y un saludo
Responder Con Cita
  #4  
Antiguo 31-03-2004
Mick Mick is offline
Miembro
 
Registrado: may 2003
Posts: 405
Poder: 21
Mick Va por buen camino
Lo de instalarlo como servicio es correcto, intraweb genera un ejecutable que consiste en un servidor web completo. Si tienes dos aplicaciones en intraweb tienes que instalar las dos como servicio y en puertos distintos.

En la segunda cuestion, vamos por partes:

nombredeempresa:81/aplicacionx/exec

El numero de puerto (en tu ejemplo el 81) lo puedes configurar en tiempo de diseño en las propiedades del objeto/modulo IWSErverController que se habra generado al crear un projecto de tipo Intraweb 7, concretamente la propiedad Port.
Si quieres que el puerto se pueda configurar a posteriori durante la ejecucion del programa, en el evento OnCreate del Objeto IWServerController puedes asignar la propiedad Port por codigo, leyendola previamente de un fichero ini por ejemplo:

Código:
procedure TIWServerController.IWServerControllerBaseCreate(
  Sender: TObject);
var
 Ini:TIniFile;
begin
 Ini:= TIniFile.Create( ChangeFileExt(ParamStr(0),'.ini') );
 try
   SessionTimeout:= Ini.ReadInteger('General','SessionTimeout',15);
   Port          := Ini.ReadInteger('General','WebPort',80);
   ExecCmd   := 'presupuestos';
 finally
   Ini.Free;
 end;
end;
La parte '/aplicacionx/exec' tambien la puedes configurar en una propiedad del objeto IWServerController concretamente: 'ExecCmd' , mira tambien el codigo anterior.

En cambio la parte 'nombredeempresa' no la puedes configurar en intraweb ya que nada tiene que ver con el servidor web. Eso es simplemente el nombre del equipo y tendras que cambiar la configuracion de windows para ponerle el nombre que tu deses. Si tu ordenador se llama pepe, pues llamaras a las paginas del servidor web con:

http://pepe/presupuestos

la ip 127.0.0.1 es simplement un alias al ordenador local, es decir las siguientes llamadas son mas o menos equivalentes:

http://127.0.0.1/presupuestos
http://localhost/presupuestos
http://nombre_de_tu_ordenador/presupuestos

Saludos
Miguel
Responder Con Cita
  #5  
Antiguo 01-04-2004
Avatar de tcp_ip_es
tcp_ip_es tcp_ip_es is offline
No confirmado
 
Registrado: ago 2003
Ubicación: Madrid
Posts: 635
Poder: 0
tcp_ip_es Va por buen camino
Muchísimas gracias Miguel, me ha servido mucho tu comentario, y me ha aclarado bastantes conceptos. Mi problema a parte de mi desconocimiento del tema fue que me baje una versión de la página de atozed la 7.0.20 y no me fijé en que era de evaluación, y claro uno de los límites que me ponía era que el puerto aunque lo fijes en la propiedad de IwServerController, al ejecutarlo saca uno aleatorio.... os dejo para vuestro conocimiento las limitaciones de la versión de evaluación ....

Cita:
* Unique Port Numbers - When using the stand alone server in the evaluation version of IntraWeb, the port numbers that your IntraWeb application listens will be unique upon each execution. Any port settings you may specify will be ignored. Testing is facilitated in evaluation mode by use of the execute menu item as it automatically adjusts its URL for the changing port.
*IP Restriction - In the evaluation version, IntraWeb applications only listen on the IP 127.0.0.1. No requests from other IP addresses will be served.
No service installation - Installing the stand alone server as a service is disabled.
* No SSL - SSL is disabled in the evaluation version.
* No Deployment License - You may not deploy any applications created with the evaluation version.
De nuevo muchas gracias Mick, seguramente dejaré más problemas que me vayan surgiendo segun vaya utilizando Intraweb.

Saludos, Tony
Responder Con Cita
  #6  
Antiguo 02-04-2004
Avatar de StartKill
StartKill StartKill is offline
Miembro
 
Registrado: ene 2004
Posts: 299
Poder: 21
StartKill Va por buen camino
Smile Impresionado con IntraWeb

Holas my's friend's

Soy nuevo en mundo del internet y he quedado impresionado con los ejemplos de IntraWeb, me he atrevido a hacer un ejemplo pequeño de un libro y su vez me guie de nuestro amigo "MICK" con respecto al puerto 80 y ExecCmd con resultados satisfactorios

Pero tengo un problema: "No todo es de color de rosa."

En principio por si las dudas mi aplicacion intraweb es una DLL y la estoy ejecuntado en modo local PWS Windows-98 con delphi 7.00 y la intraweb que viene por defecto en delphi7.0 que es la 5.0(creo)

Esta *.dll queda en memoria y cuando vuelvo a re-compilar mi aplicacion y quiero copiar la DLL en la carpeta scrpits no lo hace por que dicha DLL esta en uso.

Lo que hago es renombrar mi nueva DLL para mis nuevas pruebas.

No se como sacar la DLL de memoria, salvo que apague mi pc , existe alguna forma "decente" para esto?

Your Friend

StartKill
Lima-Perú
Responder Con Cita
  #7  
Antiguo 03-04-2004
carlosmoralesm carlosmoralesm is offline
Miembro
 
Registrado: feb 2004
Posts: 94
Poder: 21
carlosmoralesm Va por buen camino
yo estoy usando Dynip para direccionar hacia la pagina de intraweb ya que cada que me conecto a internet tengo una ip publica distinta entonces desde una pagina de internet detecto la ip y depues la mando a un mail para que sepan a que direccion y a que pueto conectarse para entrar directamente a la intraweb
Responder Con Cita
  #8  
Antiguo 03-04-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
Pues si esta es parte de un servicio... supongo que bastará con que bajes el servicio, compiles el proyecto, y luego lo volvas a levantar.

Hasta luego,

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #9  
Antiguo 03-04-2004
Avatar de Onti
Onti Onti is offline
Miembro
 
Registrado: jul 2003
Ubicación: La Paz - Bolivia
Posts: 500
Poder: 21
Onti Va por buen camino
Si bien bajando el servicio del IIS puedes modificar actualizar una aplicacion .dll que se esta ejecutando, sin embargo en la mayoria de los casos que implementas una aplicacion Web en internet no tienes acceso a bajar el servicio. Para estos casos recurri la solucion que nos proveen el la pag. http://www.eggcentric.com/ISAPILoader.htm

Una solucion muy simple e ingeniosa y sobre todo gratis que ayudo muchisimo en este problema

Salu2

Raul
Responder Con Cita
  #10  
Antiguo 03-04-2004
carlosmoralesm carlosmoralesm is offline
Miembro
 
Registrado: feb 2004
Posts: 94
Poder: 21
carlosmoralesm Va por buen camino
intraweb no genera una pagina normal de internet asi que para ponerla en internet tienes que tener un ip privado para colgarla de ahi o en Dynip para que puedas redireccoinar, de todos modos nececitas saber tu ip publica asi que bueno hay detalles
Responder Con Cita
  #11  
Antiguo 03-04-2004
Avatar de StartKill
StartKill StartKill is offline
Miembro
 
Registrado: ene 2004
Posts: 299
Poder: 21
StartKill Va por buen camino
Question

Hola my friend's

Publicado por nuestro amigo Jachguate

Cita:
Pues si esta es parte de un servicio... supongo que bastará con que bajes el servicio, compiles el proyecto, y luego lo volvas a levantar.
Por mas que he intento encontrar alguna opcion "servicio" o algo parecido no lo ubico

Solo quiero recordarles que estoy en modo local y com PWS-98 y creo que PWS-98 no tiene esa opcion (bueno eso quiero creer para justificar mi ignorancia)

Con respecto a la dirección que nos da nuestro amigo "Onti" aun no la he probado, estoy por enlazarme a esta.

Gracias a todos.

Your Friend,

StartKill
Lima-Perú

Última edición por StartKill fecha: 03-04-2004 a las 19:27:34. Razón: Mal alias :-(
Responder Con Cita
  #12  
Antiguo 04-04-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
no me di cuenta que era win'98... supongo que tenes un ícono en el tray, o alguna forma de "bajar" el Personal Web Server... (cerrar el programa), que seria lo equivalente a bajar un servicio.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #13  
Antiguo 05-04-2004
Avatar de tcp_ip_es
tcp_ip_es tcp_ip_es is offline
No confirmado
 
Registrado: ago 2003
Ubicación: Madrid
Posts: 635
Poder: 0
tcp_ip_es Va por buen camino
ISAPI Manager

Existe una aplicación que es gratis que te baja la dll de memoria sin tener que tirar el IIS o PWS... se llama ISAPI Manager ahí os dejo la dirección...

http://www.dataweb.de/en/ordering/do...tml#IsapiTools




Saludos, Tony
Responder Con Cita
  #14  
Antiguo 17-07-2007
mamaro mamaro is offline
Miembro
 
Registrado: mar 2004
Posts: 79
Poder: 21
mamaro Va por buen camino
hola

El problema que les está pasando con IIS es que éste carga la dll la primer vez que es utilizada, y luego la mantiene en memoria para futuros llamados (por lo que el archivo queda bloqueado).

Por eso al intentar borrarla o sobreescribirla genera un error (o simplemente no hace nada); para solucionar esto existe una opción dentro de IIS que hace que se descargue la librería una vez que se dejó de usarla.

ATENCIÓN: Esta opción sólo debe ser utilizada mientras se está desarrollando, ya que al momento de ponerla en producción es mucho más rápido que la mantenga cargada en memoria.
Responder Con Cita
Respuesta



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 11:00:20.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi