Club Delphi  
    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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-02-2008
rolandoj rolandoj is offline
Miembro
 
Registrado: abr 2007
Posts: 395
Poder: 17
rolandoj Va por buen camino
Unhappy Extraño y seio error. El IDE no identifica bien a TWebModule

Hola,

Estoy teniendo serios y extraños problemas con la clase TWebModule en Delphi 2007 Update 3.

Para explicarlos, he aquí un DLL de ejemplo:

Proyecto PrbISAPI :

Código Delphi [-]
library PrbISAPI;
uses
  HTTPApp,
  WebBroker,
  ISAPIApp,
  UdmPrbISAPI in 'UdmPrbISAPI.pas'; {dmPrbISAPI: TWebModule}
{$R *.RES}
exports
  GetExtensionVersion,
  HttpExtensionProc,
  TerminateExtension;
begin
  Application.Initialize;
  Application.CreateForm(TdmPrbISAPI, dmPrbISAPI);
  Application.Run;
end.

Archivo UdmPrbISAPI.Pas :

Código Delphi [-]
unit UdmPrbISAPI;
interface
uses
  HTTPApp;
type
  TdmPrbISAPI = class(TWebModule)
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
   dmPrbISAPI:         TdmPrbISAPI;
implementation
{$R *.DFM}
end.

Archivo UdmPrbISAPI.dfm :

Código Delphi [-]
object dmPrbISAPI: TdmPrbISAPI
  Left = 386
  Top = 258
  ClientHeight = 123
  ClientWidth = 207
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'Tahoma'
  Font.Style = []
  OldCreateOrder = False
  PixelsPerInch = 96
  TextHeight = 13
end

Para efectos de simplificar al máximo, deje solo la unidad HTTPApp en UdmPrbISAPI.Pas.

En este ejemplo, el sistema compila sin errores; pero, cuando se usa el inspector de objetos no muestra las propiedades publicadas de TWebModule en HTTPApp (o sea Actions, BeforeDispatch, AfterDispatch y OnException).

Ahora bien, si se intenta buscar la definición que el sistema está tomando para TWebModule (manteniendo presionado Ctrl y haciendo click sobre TWebModule en UdmPrbISAPI.Pas), el sistema conduce al archivo HTTPApp.Pas ubicado en el subdirectorio Source\Win32\Internet del directorio
de instalación de Delphi 2007. La definición que este archivo tiene de TWebModule muestra correctamente las propiedades publicadas, que no aparecen en el inspector de objetos.

El ejemplo lo he hecho para ilustrar mi investigación del problema original el cual era que mi verdadera aplicación, creada en una versión previa de Delphi, compila y se ejecuta aparentemente sin problemas con el sistema respondiendo a los eventos Action del TWebModule; pero cuando fuí
abrir en el IDE el fuente del TWebModule, me saca un error diciendo que la propiedad Actions no existe, con lo cual no me deja depurar. En conclusión, si no puedo depurar, tengo un problema muy serio.

Al principio pensé que algo en mi archivo estaba corrupto; pero después de gastar tiempo tratando de encontrar el error, opté por hacer este pequeño ejemplo de prueba, y para mi sorpresa, pasa lo mismo. Vale anotar que incluso apagué el computador antes de escribir el ejemplo.

Lo más sorprendente para mí es que una busqueda de todos los archivos HTTPApp muestra solo tres archivos en el directorio de instalación de Delphi :

HTTPApp.dcu de 71Kb en Lib
HTTPApp.dcu de 79Kb en Lib\Debug
HTTPApp.pas de 70Kb en Source\Win32\Internet

Todos con la siguiente fecha y hora : 2007/08/26 01:03 pm

Lo anterior parece indicar que la compilación de ambas versiones del archivo si corresponden al archivo fuente; pero lo dudo porque si la versión compilada de mi programa identifica correctamente las propiedades e igualmente el seguimiento a la definición del TWebModule lo hace; pero el Inspector de Objetos no lo hace, lo único que se me ocurre es que uno de los dos dcu, y
supondría que el de depuración, no corresponde a los fuentes.

Alguién puede confirmarme si le pasa lo mismo ?

Alguién sabe si es un error conocido de Delphi 2007 ?

Alguién conoce alguna solución ?

Por cierto, tampoco encontré en Delphi 2007 una opción para crear una Web Server application, como existía en las versiones anteriores, así que el ejemplo tuve que crearlo a mano. Alguién sabe que pasó ?. Es que acaso aparece con otro nombre ?

Agradezco de antemano cualquier ayuda
Responder Con Cita
  #2  
Antiguo 12-02-2008
rolandoj rolandoj is offline
Miembro
 
Registrado: abr 2007
Posts: 395
Poder: 17
rolandoj Va por buen camino
Una observación

Hola,

Si alguién reproduce el ejemplo, es de advertir que a primera vista podría creer que su sistema está bien porque podría confundir la propiedad Action mostrada por el inspector con la propiedad Actions (s al final) que es la que debería aparecer y que permite invocar al editor de acciones.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Error Extraño SysAdminGCS Varios 1 18-08-2007 17:30:49
Error Extraño Esau SQL 4 17-06-2005 23:44:16
TWebModule actualizando respuestas... Xianto Internet 2 26-05-2005 19:33:08
error extraño gilberto_1126 Varios 2 05-09-2004 02:01:01
Error Extraño Esau OOP 5 19-11-2003 19:01:32


La franja horaria es GMT +2. Ahora son las 18:58:24.


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