Was Du haben willst, ist ein klassisches CGI-Programm.
Mein olles Delphi7 bietet das unter
Datei
Neu
weitere
Web-Server-Anwendung
und dort dann CGI-Einzelanwendung
an.
Damit hast Du schonmal alles, was eine entsprechende Konsolenanwendung benötigt.
Die weitere Programmierung ist identisch mit der einer
ISAPI.dll.
Und die war ja hier
Daten lesen und schreiben aus einer ISAPI-Dll schonmal Thema. Damit sollte es für Dich da eine sehr geringe Lernkurve geben.
Bei Delphi 7 ist dashier ein Grundgerüst für ein CGI-Programm:
Delphi-Quellcode:
program Project1;
{$APPTYPE CONSOLE}
uses
WebBroker,
CGIApp,
Unit1 in 'Unit1.pas' {WebModule1: TWebModule};
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TWebModule1, WebModule1);
Application.Run;
end.
und dashier eine
ISAPI.dll:
Delphi-Quellcode:
library Project2;
uses
ActiveX,
ComObj,
WebBroker,
ISAPIThreadPool,
ISAPIApp,
Unit1
in '
Unit1.pas'
{WebModule1: TWebModule};
{$R *.res}
exports
GetExtensionVersion,
HttpExtensionProc,
TerminateExtension;
begin
CoInitFlags := COINIT_MULTITHREADED;
Application.Initialize;
Application.CreateForm(TWebModule1, WebModule1);
Application.Run;
end.
Und wenn man das TWebModule1 in beides einbindet, kann man sehr einfach aus
einem Webmodul sowohl eine
ISAPI.dll als auch ein CGI-Programm machen und umgekehrt (derweil: Sie sind absolut kompatibel).
Achso: Man kann ein Konsolenprogramm auch per Pipe "bedienen", muss man bei CGI-Programmen aber nicht, das bekommt man hier geschenkt. (Zumindest war es bei Delphi 7 so, ob's aktuell auch noch so ist, müsstest Du mal überprüfen, kann mir aber nicht vorstellen, dass es hier jetzt auf einmal große Unterschiede geben könnte.)