AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Softwareentwicklung im Allgemeinen Projektplanung und -Management Einen REST-Server mit Delphi/CPP Builder erstellen?
Thema durchsuchen
Ansicht
Themen-Optionen

Einen REST-Server mit Delphi/CPP Builder erstellen?

Ein Thema von Der schöne Günther · begonnen am 7. Apr 2015 · letzter Beitrag vom 11. Nov 2020
 
Benutzerbild von jaenicke
jaenicke
Online

Registriert seit: 10. Jun 2003
Ort: Berlin
9.934 Beiträge
 
Delphi 12 Athens
 
#28

AW: Einen REST-Server mit Delphi/CPP Builder erstellen?

  Alt 7. Mai 2015, 20:14
So, hier kommt nun endlich das Beispiel.

Kernstück ist das hier:
Delphi-Quellcode:
var
  VclApplication: TApplication;
  ServiceApplication: TServiceApplication;
begin
  if WebRequestHandler <> nil then
    WebRequestHandler.WebModuleClass := TLogServerDataModule;
  if FindCmdLineSwitch('config') then // normal application with config dialog only
  begin
    VclApplication := Vcl.Forms.Application;
    VclApplication.Initialize;
    VclApplication.MainFormOnTaskbar := True;
    VclApplication.CreateForm(TfrmLogServerConfigDlg, frmLogServerConfigDlg);
    VclApplication.Run;
  end
  else if not AnsiSameText(GetParentProcessName, 'services.exe') and not FindCmdLineSwitch('install')
     and not FindCmdLineSwitch('uninstall') then // normal application
  begin
    VclApplication := Vcl.Forms.Application;
    VclApplication.Initialize;
    VclApplication.MainFormOnTaskbar := True;
    VclApplication.CreateForm(TfrmLogServerTestMain, frmLogServerTestMain);
    VclApplication.CreateForm(TLogServerDataModule, LogServerDataModule);
    LogServerDataModule.RunningAsService := False;
    VclApplication.Run;
  end
  else // service
  begin
    ServiceApplication := Vcl.SvcMgr.Application;
    if not ServiceApplication.DelayInitialize or ServiceApplication.Installing then
      ServiceApplication.Initialize;
    ServiceApplication.CreateForm(TDemoServer, DemoServer);
    ServiceApplication.CreateForm(TLogServerDataModule, LogServerDataModule);
    LogServerDataModule.RunningAsService := True;
    ServiceApplication.Run;
  end;
Sprich der Trick an der Sache ist, dass ich nachschaue, ob der Dienstmanager mein Programm gestartet hat oder der Dienst gerade installiert oder deinstalliert werden soll. Zusätzlich habe ich als Demo mal noch einen Konfigurationsswitch eingebaut.
Sebastian Jänicke
AppCentral

Geändert von Daniel ( 3. Dez 2015 um 13:51 Uhr) Grund: Anhang auf Wunsch des Autors entfernt, korrigierte Fassung s.u.
  Mit Zitat antworten Zitat
 

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:06 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz