Einzelnen Beitrag anzeigen

markusef

Registriert seit: 9. Mai 2016
15 Beiträge
 
Delphi 10 Seattle Professional
 
#18

AW: WebModule & ADOConnection in Service -> Speicherübrelauf

  Alt 16. Jan 2017, 14:24
Alternative:
Delphi-Quellcode:
begin
  CoInitFlags := COINIT_MULTITHREADED;
  CoInitialize(nil);
  Application.Initialize;
  Application.CreateForm(Application.CreateForm(Twm, wm);
  //Initialisierungen hier zwischen...
  Application.Run;
  CoUninitialize;
end.
Funktioniert so leider auch nicht. Bekomme dann die Exception das CoInitialize nicht aufgerufen wurde.

Die Initialisierung des Webmodules erfolgt in der .dpr:

Code:
program TCMWebservice;

uses
  ActiveX,
  System.Win.ComObj,
  Vcl.SvcMgr,
  SysUtils,
  StrUtils,
  Web.WebReq,
  IdHTTPWebBrokerBridge,
  srvMain in 'srvMain.pas' {GFSRestWebservice: TService},
  serviceConsts in 'serviceConsts.pas',
  ModDb in 'modules\ModDb.pas' {DataModule1: TDataModule},
  ModWebModule in 'modules\ModWebModule.pas' {WebModuleMain: TWebModule},
  ModSessionHandler in 'modules\ModSessionHandler.pas' {SessionHandler: TDataModule};

{$R *.RES}
var
  sName    : String;
  DBConInit : TDataModule1;

begin
  if not Application.DelayInitialize or Application.Installing then
    Application.Initialize;


  if WebRequestHandler <> nil then
  begin
    WebRequestHandler.WebModuleClass := WebModuleClass;
  end;
  Application.CreateForm(TTCMRestWebservice, TCMRestWebservice);
  Application.CreateForm(TSessionHandler, SessionHandler);
  try

    sName := ExtractFileName (ParamStr (0));
    sName := AnsiReplaceText (sName, ExtractFileExt (sName), '');

    TCMRestWebservice.Name       := sName;
    TCMRestWebservice.DisplayName := sName;

    sName := EmptyStr;

    Application.Run;
  except
  on E: Exception do

  end;
end.
Markus
  Mit Zitat antworten Zitat