1,593
社区成员
发帖
与我相关
我的任务
分享
procedure TWebModule1.WebModuleCreate(Sender: TObject);
begin
WM:=TWebModule1.CREATE(SELF);
FServerFunctionInvokerAction := ActionByName('ServerFunctionInvokerAction');
end;
program Project36;
{$APPTYPE GUI}
{$R *.dres}
uses
Vcl.Forms,
Web.WebReq,
IdHTTPWebBrokerBridge,
FormUnit1 in 'FormUnit1.pas' {Form1},
ServerMethodsUnit1 in 'ServerMethodsUnit1.pas' {ServerMethods1: TDataModule},
WebModuleUnit1 in 'WebModuleUnit1.pas' {WebModule1: TWebModule};
{$R *.res}
begin
{2、
这2句又无法运行,E2010 Incompatible types: 'TComponentClass' and 'TWebModule1'
所以我把它去除了,有什么影响吗
或有办法让它能运行,又能引用吗}
// if WebRequestHandler <> nil then
// WebRequestHandler.WebModuleClass := WebModuleClass;
Application.Initialize;
Application.CreateForm(TForm1, Form1);
{1、这句是我新加的,改了后,还是不能调用。
所以我把 WebModuleUnit1单元的
WebModuleClass: TComponentClass = TWebModule1;
改成
WebModuleClass: TWebModule1;就可以引用。但上面那2句又不能运行了}
Application.CreateForm(TWebModule1, WebModuleClass);
Application.Run;
end.
//以下是WebModuleUnit1.pas============================
var
//WebModuleClass: TComponentClass = TWebModule1;
{上面那句是原来,下面是我改的。
我把 TComponentClass = 删除,才能调用,
但Project单元说 'TComponentClass' and 'TWebModule1'}
WebModuleClass: TWebModule1;
//Delphi主菜单->Project-ViewSouce:
Program Project1; //DataSnap Rest
{$APPTYPE GUI}
{$R *.dres}
uses
Vcl.Forms,
Web.WebReq,
IdHTTPWebBrokerBridge,
FormUnit1 in 'FormUnit1.pas' {Form1},
ServerMethodsUnit1 in 'ServerMethodsUnit1.pas',
WebModuleUnit1 in 'WebModuleUnit1.pas' {WebModule1: TWebModule};
{$R *.res}
begin
if WebRequestHandler <> nil then //DataSnap Rest
WebRequestHandler.WebModuleClass := WebModuleClass; //没有生成WebModule1,甚至没有定义这个变量
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
//-----------------------------------------------------------------------------------------------
//Delphi主菜单->Project-ViewSouce:
program Project2; //DataSnap Sever
uses
Vcl.Forms,
Web.WebReq,
IdHTTPWebBrokerBridge,
Unit2 in 'Unit2.pas' {Form2},
ServerMethodsUnit1 in 'ServerMethodsUnit1.pas',
ServerContainerUnit1 in 'ServerContainerUnit1.pas' {ServerContainer1: TDataModule};
{$R *.res}
begin
Application.Initialize;
Application.MainFormOnTaskbar := True;
Application.CreateForm(TForm2, Form2); //DataSnap Sever
Application.CreateForm(TServerContainer1, ServerContainer1); //有生成ServerContainer1
Application.Run;
end.