Ver Mensaje Individual
  #2  
Antiguo 25-06-2024
Avatar de TrUnkS
TrUnkS TrUnkS is offline
Miembro
 
Registrado: dic 2005
Posts: 96
Reputación: 21
TrUnkS Va por buen camino
Smile

Estimados, Quizás le pueda servir a alguien. Lo pude solucionar considerando que Delphi crea instancias de los módulos de datos en tiempo de diseño en el archivo del proyecto(dpr):

Código Delphi [-]
library Project1;

uses
  Winapi.ActiveX,
  System.Win.ComObj,
  Web.WebBroker,
  Web.Win.ISAPIApp,
  Web.Win.ISAPIThreadPool,
  WebModuleUnit1 in 'WebModuleUnit1.pas' {WebModule1: TWebModule},
  DataModule1Unit1 in 'DataModule1Unit1.pas' {DataModule1: TDataModule};

{$R *.res}

exports
  GetExtensionVersion,
  HttpExtensionProc,
  TerminateExtension;

begin
  CoInitFlags := COINIT_MULTITHREADED;
  Application.Initialize;
  Application.WebModuleClass := WebModuleClass;
  Application.CreateForm(TDataModule1, DataModule1); // <--- instancia del módulo de datos
  Application.Run;
end.

Como había creado y liberado los módulos de datos dentro de las Actions del WebModule no supuse que habría problema por ese motivo, pero no consideré eliminar las instancias creadas por Delphi en el archivo de proyecto.

Código Delphi [-]
library Project1;

uses
  Winapi.ActiveX,
  System.Win.ComObj,
  Web.WebBroker,
  Web.Win.ISAPIApp,
  Web.Win.ISAPIThreadPool,
  WebModuleUnit1 in 'WebModuleUnit1.pas' {WebModule1: TWebModule},
  DataModule1Unit1 in 'DataModule1Unit1.pas' {DataModule1: TDataModule};

{$R *.res}

exports
  GetExtensionVersion,
  HttpExtensionProc,
  TerminateExtension;

begin
  CoInitFlags := COINIT_MULTITHREADED;
  Application.Initialize;
  Application.WebModuleClass := WebModuleClass;
  //Application.CreateForm(TDataModule1, DataModule1); 
  Application.Run;
end.
Código Delphi [-]
procedure TWebModule1.WebModule1DefaultHandlerAction(Sender: TObject;
  Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
begin
 DataModule1 := TDataModule1.Create(nil);
 try
  DataModule1.FDConnection1.Connected := True;
  Response.Content :=
    '' +
    'Web Server Application (datamodule in runtime)' +
    'Web Server Application (datamodule in runtime)' +
    '';
 finally
  DataModule1.Free;
 end;
end;

Última edición por TrUnkS fecha: 25-06-2024 a las 00:34:44.
Responder Con Cita