查看: 52|回复: 0

DeWeb --- Hello,World!

[复制链接]

1

主题

0

回帖

0

积分

热心网友

金币
0
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2009-4-10
发表于 2020-12-21 10:58:00 | 显示全部楼层 |阅读模式

1.新建一个DLL,命名为hello.dpr

2.新增一个Form.(File->New->VCL Form - Delphi),建议不要更改单元名称和Form名称,即分别为unit1.pas和Form1

3.在Form1中添加一个Label,设置其Caption为"Hello,DeWeb"

4.将hello.dpr源文件代码更改为
//====================================
library hello;

uses
ShareMem, SysUtils, Forms, Messages, StdCtrls,
Variants, Windows, Classes,
unit1 in 'unit1.pas' {Form1};

{$R *.res}
type
PdwGetEvent=function (ACtrl:TComponent;AData:String):string; StdCall;
var
DLLApp : TApplication;
DLLScreen : TScreen;
function dwLoad(AParams:String;AApp:TApplication;AScreen:TScreen):TForm;stdcall;
var
AForm : TForm1;
begin
//
Application := AApp;
Screen := AScreen;
//
AForm := TForm1.Create(nil);
AForm.Hint := AParams;
Result := AForm;
end;

procedure DLLUnloadProc(dwReason: DWORD);
begin
if dwReason = DLL_PROCESS_DETACH then begin
Application := DLLApp; //恢复
Screen := DLLScreen;
end;
end;

exports
dwLoad;

begin
DLLApp := Application; //保存 DLL 中初始的 Application
DLLScreen := Screen;
DLLProc := @DLLUnloadProc;//保证卸载时恢复原Application
DLLUnloadProc(DLL_PROCESS_DETACH);
end.
//====================================

5.编译生成hello.dll,复制到source\runtime\apps中

6.运行source\runtime\DeWebServer.exe,注意使端口为80

7.打开现代浏览器(Chrome/FireFox等),打开http://127.0.0.1/hello.dw



来源:https://www.cnblogs.com/maxxua/p/14166891.html
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部