DB2 和 Delphi 7 — SOAP 和数据库 Web 服务
构建 Windows SOAP 服务器应用程序
首先在 Windows 上构建服务器,然后在 Linux 上构建客户机。(如果需要,可以使用其它方法 — 或者将它们全部构建在 Windows 或 Linux 上。)对于 Windows SOAP 服务器,启动 Delphi 7 Enterprise,执行 File -> New -> Other,转至对象资源库(Object Repository)的 Web Services选项卡。
图 1. Delphi 7 对象资源库
要将 DataSnap? 应用程序构建成跨平台的 Web 服务,双击 SOAP Server Application 图标,这将启动相应的向导。
图 2. 创建新的 SOAP 服务器应用程序
通过使用 Delphi 7(在 Windows 上),现在可以从 ISAPI/NSAPI DLL、Apache 1.x 或 2.x DLL、CGI 可执行文件或 Web App Debugger 可执行文件之中进行选择。可以使用后者从 Delphi IDE 中调试应用程序(但不能部署它 — 必须将它更改成其它目标之一来部署 Web 服务器应用程序)。通过使用 Kylix 3(在 Linux 上),可以选择 Apache 动态共享目标(Apache Dynamic Shared Object,DSO)文件、CGI 可执行文件或 Web App Debugger 可执行文件。对于本例,选择 CGI 可执行文件,但在实际使用时,可能要选择一个更高效的 Apache 或 ISAPI/NSAPI DLL。选择后,单击 OK。 此时为您生成了一个新的 SOAP 服务器应用程序和 SOAP Web 模块。但在您可以对它进行更仔细的研究之前,会看到一个弹出对话框,询问您是否要立刻为 SOAP 模块创建一个接口。
图 3. 因为您正在构建一个特殊的 DataSnap SOAP 服务器,所以单击 No
单击 No,因为您不想立刻构建一个常规的 Web 服务应用程序。而是想要构建一个特殊的 DataSnap SOAP 服务器。正如您在 图 4中所见到的那样,SOAP Web 模块已经包含了三个组件:
THTTPSoapDispatcher THTTPSoapPascalInvoker TWSDLHTMLPublish 组件 有关这些组件的更详细信息,请参阅联机帮助;它们主要为 DataSnap SOAP 服务器执行所有 SOAP 和 WSDL“探测(plumbing)”任务,所以您现在可以着重关注数据库表,而不必担心其它事情。
带组件的 SOAP Web 模块
将 SOAP Web 模块保存在文件 SWebMod.pas 中,将整个项目保存在 D7DB2CGI.dpr 中(这将产生 D7DB2CGI.exe )。 现在添加 SOAP 数据模块(SOAP Data Module)来连接 DB2 数据库(通过使用对象资源库的 WebServices 选项卡中的第二个图标;还请参见图1)。在 SOAP Data Module 向导中,只需要指定新数据模块的名称;将它�
相关文档:
1. 抽象工厂的产品
{《HeadFirst设计模式》工厂模式之抽象工厂 }
{ 抽象工厂的产品 }
{ 编译工具:Delphi7.0 }
{ E-Mail :xshlife@163.com }
unit uPizzaIngredient;
interface
type
TDough = class(TObject)
end;
TThinCrustDough ......
//定义MyClass
TMyClass = class
GUID: string;
Name: string;
bSex: Boolean;
Tel : string;
end;
//取值
var
obj: TMyClass;
begin
obj := TMyClass.Create;
with Memo1.Lines do
begin
Add('对象大小:' + IntToStr(obj.InstanceSize));
Add('对象所在地址:'+ ......
1.主题与观察者
{《HeadFirst设计模式》之观察者模式 }
{ 主题与观察者 }
{ 编译工具 :Delphi7.0 }
{ 联系方式 :xshlife@163.com }
unit uWeatherReport;
interface
uses
Classes, SysUtils;
type
TObserver = class; { Forward声明,创建两个相 ......
继承是为了表现类与类之间“是一种”关系,是多态存在的基础,继承是面象对象必不可少的基础,只支持封装而不支持继承的语言只能称为“基于对象”(Object-Based)面非面向对象“Object-Oriented”;
Object Pascal只支持单继承,也就是一个派生类只能有一个基类
但可以实现多个接口 ......
大家都认为,C语言之所以强大,以及其自由性,很大部分体现在其灵活的指针运用上。因此,说指针是C语言的灵魂,一点都不为过。同时,这种说法也让很多人产生误解,似乎只有C语言的指针才能算指针。Basic不支持指针,在此不论。其实,Pascal语言本身也是支持指针的。从最初的Pascal发展至今的Object Pascal,可以说在指针运� ......