源芳 發表於 2020-12-21 10:58:00

DeWeb --- Hello,World!

<p>1.新建一个DLL,命名为hello.dpr</p>
<p>2.新增一个Form.(File-&gt;New-&gt;VCL Form - Delphi),建议不要更改单元名称和Form名称,即分别为unit1.pas和Form1</p>
<p>3.在Form1中添加一个Label,设置其Caption为"Hello,DeWeb"</p>
<p>4.将hello.dpr源文件代码更改为<br>
//====================================<br>
library hello;</p>
<p>uses<br>
ShareMem,SysUtils,Forms,Messages,StdCtrls,<br>
Variants,Windows,Classes,<br>
unit1 in 'unit1.pas' {Form1};</p>
<p>{$R *.res}<br>
type<br>
PdwGetEvent=function (ACtrl:TComponent;AData:String):string; StdCall;<br>
var<br>
DLLApp    : TApplication;<br>
DLLScreen : TScreen;<br>
function dwLoad(AParams:String;AApp:TApplication;AScreen:TScreen):TForm;stdcall;<br>
var<br>
AForm   : TForm1;<br>
begin<br>
//<br>
Application    := AApp;<br>
Screen         := AScreen;<br>
//<br>
AForm          := TForm1.Create(nil);<br>
AForm.Hint   := AParams;<br>
Result         := AForm;<br>
end;</p>
<p>procedure DLLUnloadProc(dwReason: DWORD);<br>
begin<br>
if dwReason = DLL_PROCESS_DETACH then begin<br>
Application    := DLLApp; //恢复<br>
Screen         := DLLScreen;<br>
end;<br>
end;</p>
<p>exports<br>
dwLoad;</p>
<p>begin<br>
DLLApp    := Application; //保存 DLL 中初始的 Application<br>
DLLScreen := Screen;<br>
DLLProc   := @DLLUnloadProc;//保证卸载时恢复原Application<br>
DLLUnloadProc(DLL_PROCESS_DETACH);<br>
end.<br>
//====================================</p>
<p>5.编译生成hello.dll,复制到source\runtime\apps中</p>
<p>6.运行source\runtime\DeWebServer.exe,注意使端口为80</p>
<p>7.打开现代浏览器(Chrome/FireFox等),打开http://127.0.0.1/hello.dw</p><br><br>
来源:https://www.cnblogs.com/maxxua/p/14166891.html
頁: [1]
查看完整版本: DeWeb --- Hello,World!