首页互联网delphi xe2(Delphi.XE2激活成功教程方法 建议收藏)

delphi xe2(Delphi.XE2激活成功教程方法 建议收藏)

编程之家2024-02-05112次浏览

一、如何在delphi xe2 中安装dspack呢

最详细的步骤如下(以Delphi7为例,其他版本在方法上是一样的):

delphi xe2(Delphi.XE2激活成功教程方法 建议收藏)

1

增加搜索路径

(DSPackDir)\src\Directx9

(DSPackDir)\src\DSPack

在delphi7中选择菜单【Tools】-【Enviroment

delphi xe2(Delphi.XE2激活成功教程方法 建议收藏)

Options】,在打开的窗口中选择Library页签,在Library

Path一项中添加这两个目录C:\Borland\VCL\DSPACK234\src\Directx9

;C:\Borland\VCL\DSPACK234\src\DSPack

(将其直接粘贴在原有内容的后面,或者点击Library

Path后面的...按钮添加)

2

delphi xe2(Delphi.XE2激活成功教程方法 建议收藏)

编译

(DSPackDir)\packages\DirectX9_D7.dpk

双击(DSPackDir)\packages\DirectX9_D7.dpk,在delphi7中会显示一个关于重新创建资源文件的对话框,点击OK就可以了。

在delphi7中的打开窗口中点击compile按钮,完成编译。在delphi7中选择菜单【File】-【Close

All】,在提问是否保存时,选择保存。

3

编译

(DSPackDir)\packages\DSPack_D7.dpk

双击(DSPackDir)\packages\DSPack_D7.dpk,在delphi7中会显示一个关于重新创建资源文件的对话框,点击OK就可以了。

在delphi7中的打开窗口中,点击compile按钮,完成编译。

(这里出了一个编译错误,说找不到Jedi.inc。这个文件在src\Directx9目录下,不知道为什么不能搜索。无奈,把它复制到src\DSPack目录下,编译通过了)

在delphi7中选择菜单【File】-【Close

All】,在提问是否保存时,选择保存。

4

编译并安装

(DSPackDir)\packages\DSPackDesign_D7.dpk

双击(DSPackDir)\packages\DSPackDesign_D7.dpk,在delphi7中会显示一个关于重新创建资源文件的对话框,点击OK就可以了。

在delphi7中的打开窗口中,点击compile按钮,完成编译。

点击Install按钮,完成安装。

在delphi7中选择菜单【File】-【Close

All】,在提问是否保存时,选择保存。

至此,安装已完成,在delphi的控件面板上可以找到DSPack的页签了。

如果其他版本安装,则选择与其版本对应的文件(文件夹和下面的文件已经分得很明确了)。

二、如何在Delphi XE2中使用Dynamic Web TWAIN

1、启动Delphi XE2。

2、在Component菜单中点击Import Component以显示导入组件对话框。

3、选择Import ActiveX Control并点击 Next。

4、在Registered ActiveX Controls对话框的列表框中,选择ynamic Web TWAIN。然后点击Next。

5、在组件对话框中,保持默认设置,然后单击Next。

6、在Create Unit对话框中,选择Create Unit并点击 Finish。

7、在组件菜单中,Install Component以展示安装VCL组件的对话框。

8、Unit file name text box旁边的浏览按钮,选择[User Directory]\My Documents\RAD Studio\9.0\Imports目录下的DYNAMICWEBTWAINCTRLLib_TLB.pas文件。选择安装到一个新的包,然后单击Next。

9、在新的安装包对话框中输入Package name(如DynamicWebTWAIN),点击Finish。

10、在弹出的确认对话框中,单击Yes继续。

此时,Dynamic Web TWAIN安装完成。点击File-> New-> VCL Form验证安装。在工具面板视图中,DynamicWebTwain位于ActiveX分类下。

三、delphi xe2怎么没activex工具栏

首先,您要了解:

•COM的基本原理

•能被网页调用的非可视ActiveX控件必须是一种至少实现了IOleObject接口的TAutoObject组件

•利用Delphi向导生成的ActiveX控件必须继承自WinControl,所以您不能用Delphi向导生成非可视的ActiveX控件

以下例子,实现了一个非可视ActiveX,调用此控件的exeWB,相当于调用IE的打印,预览,页面设置等功能。再此基础上,还可以扩展其它的功能。

制作步骤:1.打开delphi,新建一个ActiveX包。 File|new|other...|ActiveX|AxtiveX library 2.利用delphi向导,添加一个Automation Object。 File|new|other...|ActiveX|Automation Object我这个项目叫WebPrint 3.在接下来弹出的TLB编辑窗口里面定义自己需要的接口函数我添加需要的接口IWebPrint.print(),IWebPrint.preview()等 4.实现IOleObject接口,将代码改成如下形式,红色为修改部分将Windows添加到uses引用 uses ComObj, ActiveX, Project1_TLB, Windows;修改 TWebPrint= class(TAutoObject,IWebPrint)为 TWebPrint= class(TAutoObject,IOleObject, IWebPrint)添加下段代码到TWebPrint的private段 private FOleClientSite: IOleClientSite;

添加下段代码到TWebPrint的public段public

{IOleObject}

function SetClientSite(const clientSite: IOleClientSite): HResult;stdcall;

function GetClientSite(out clientSite: IOleClientSite): HResult;stdcall;

function SetHostNames(szContainerApp: POleStr;szContainerObj: POleStr): HResult; stdcall;

function Close(dwSaveOption: Longint): HResult; stdcall;

function SetMoniker(dwWhichMoniker: Longint; const mk: IMoniker): HResult;stdcall;

function GetMoniker(dwAssign: Longint; dwWhichMoniker: Longint;out mk: IMoniker): HResult; stdcall;

function InitFromData(const dataObject: IDataObject; fCreation: BOOL;dwReserved: Longint): HResult; stdcall;

function GetClipboardData(dwReserved: Longint;out dataObject: IDataObject): HResult; stdcall;

function DoVerb(iVerb: Longint; msg: PMsg; const activeSite: IOleClientSite;lindex: Longint; hwndParent: HWND; const posRect: TRect): HResult;stdcall;

function EnumVerbs(out enumOleVerb: IEnumOleVerb): HResult; stdcall;

function Update: HResult; stdcall;

function IsUpToDate: HResult; stdcall;

function GetUserClassID(out clsid: TCLSID): HResult; stdcall;

function GetUserType(dwFormOfType: Longint; out pszUserType: POleStr): HResult;stdcall;

function SetExtent(dwDrawAspect: Longint; const size: TPoint): HResult;stdcall;

function GetExtent(dwDrawAspect: Longint; out size: TPoint): HResult;stdcall;

function Advise(const advSink: IAdviseSink; out dwConnection: Longint): HResult;stdcall;

function Unadvise(dwConnection: Longint): HResult; stdcall;

function EnumAdvise(out enumAdvise: IEnumStatData): HResult; stdcall;

function GetMiscStatus(dwAspect: Longint; out dwStatus: Longint): HResult;stdcall;

function SetColorScheme(const logpal: TLogPalette): HResult; stdcall;

//在implementation段实现IOleObject的函数功能implementation{IOleObject}function TWebPrint.SetClientSite(const ClientSite: IOleClientSite): HResult;

begin

if ClientSite<> nil then

begin

if FOleClientSite<> nil then

begin

Result:= E_FAIL;

Exit;

end;

FOleClientSite:= ClientSite;

end

else

begin

FOleClientSite:= nil;

end;

Result:= S_OK;

end;function TWebPrint.GetClientSite(out clientSite: IOleClientSite): HResult;

begin

ClientSite:= FOleClientSite;

Result:= S_OK;

end;function TWebPrint.SetHostNames(szContainerApp: POleStr; szContainerObj: POleStr): HResult;

begin

Result:= S_OK;

end;function TWebPrint.Close(dwSaveOption: Longint): HResult;

begin

Result:= E_NOTIMPL;

end;function TWebPrint.SetMoniker(dwWhichMoniker: Longint; const mk: IMoniker): HResult;

begin

Result:= E_NOTIMPL;

end;function TWebPrint.GetMoniker(dwAssign: Longint; dwWhichMoniker: Longint; out mk: IMoniker): HResult;

begin

Result:= E_NOTIMPL;

end;function TWebPrint.InitFromData(const dataObject: IDataObject; fCreation: BOOL; dwReserved: Longint): HResult;

begin

Result:= E_NOTIMPL;

end;function TWebPrint.GetClipboardData(dwReserved: Longint; out dataObject: IDataObject): HResult;

begin

Result:= E_NOTIMPL;

end;function TWebPrint.DoVerb(iVerb: Longint; msg: PMsg; const activeSite: IOleClientSite; lindex: Longint; hwndParent: HWND; const posRect: TRect): HResult;

begin

Result:= E_NOTIMPL;

end;function TWebPrint.EnumVerbs(out enumOleVerb: IEnumOleVerb): HResult;

begin

Result:= OleRegEnumVerbs(Factory.ClassID, enumOleVerb);

end;function TWebPrint.Update: HResult;

begin

Result:= S_OK;

end;function TWebPrint.IsUpToDate: HResult;

begin

Result:= S_OK;

end;function TWebPrint.GetUserClassID(out clsid: TCLSID): HResult;

begin

clsid:= Factory.ClassID;

Result:= S_OK;

end;function TWebPrint.GetUserType(dwFormOfType: Longint; out pszUserType: POleStr): HResult;

begin

Result:= OleRegGetUserType(Factory.ClassID, dwFormOfType, pszUserType);

end;function TWebPrint.SetExtent(dwDrawAspect: Longint; const size: TPoint): HResult;

begin

Result:= E_NOTIMPL;

end;function TWebPrint.GetExtent(dwDrawAspect: Longint; out size: TPoint): HResult;

begin

Result:= E_NOTIMPL;

end;function TWebPrint.Advise(const advSink: IAdviseSink; out dwConnection: Longint): HResult;

begin

Result:= E_NOTIMPL;

end;function TWebPrint.Unadvise(dwConnection: Longint): HResult;

begin

Result:= E_NOTIMPL;

end;function TWebPrint.EnumAdvise(out enumAdvise: IEnumStatData): HResult;

begin

Result:= E_NOTIMPL;

end;function TWebPrint.GetMiscStatus(dwAspect: Longint; out dwStatus: Longint): HResult;

begin

Result:= E_NOTIMPL;

end;function TWebPrint.SetColorScheme(const logpal: TLogPalette): HResult;

begin

Result:= E_NOTIMPL;

end;5.实现您自己定义的接口函数功能{ITWebPrint}procedure TWebPrint.exeWB(cmdID:TOleEnum);

var

spDoc:IHTMLDocument2;

spContainer:IOleContainer;

spIE:IWebBrowser2;

begin

FOleClientSite.GetContainer(spContainer);

if not Assigned(spContainer) then

begin

messagebox(0,'此对象必须作为OLE对象使用','使用方法错误',0);

exit;

end; if spContainer.QueryInterface(IID_IHTMLDocument2,spDoc)=S_OK then

begin

if(spDoc.parentWindow as IServiceprovider).QueryService(IWebbrowserApp, IWebBrowser2, spIE)=S_OK then

begin

if spIE.QueryStatusWB(cmdID)=3 then

spIE.ExecWB(cmdID, OLECMDEXECOPT_DODEFAULT,EmptyParam,EmptyParam);

end

else

begin

messagebox(0,'请使用IE5.5以上版本','运行环境不正确',0);

exit;

end;

end

else

begin

messagebox(0,'找不到网页内容','使用方法错误',0);

exit;

网页链接

vrml实例(vrml场景实例代码)网号(解析IP地址 mdash mdash 网络号、子网号、主机号)