delphixe2(如何在delphi xe2 中安装dspack呢)
本文目录
- 如何在delphi xe2 中安装dspack呢
- 求助delphi xe2 致命错误
- 怎么设置禁止delphi Xe2 自动检查更新
- delphi xe2怎么没activex工具栏
- delphi xe2 异常 自动 退出
如何在delphi xe2 中安装dspack呢
最详细的步骤如下(以Delphi7为例,其他版本在方法上是一样的):
1
增加搜索路径
(DSPackDir)\src\Directx9
和
(DSPackDir)\src\DSPack
在delphi7中选择菜单【Tools】-【Enviroment
Options】,在打开的窗口中选择Library页签,在Library
Path一项中添加这两个目录C:\Borland\VCL\DSPACK234\src\Directx9
;C:\Borland\VCL\DSPACK234\src\DSPack
(将其直接粘贴在原有内容的后面,或者点击Library
Path后面的...按钮添加)
2
编译
(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 致命错误
MainUnit.pas(12): F1026 File not found: *System.Actions.dcu* (unit scope “System“ indicates Win64, OSX32, Win32 only)
组件安装JEDI Code Library
JEDI Visual Component Library
UniDAC
AlphaControl
怎么设置禁止delphi Xe2 自动检查更新
禁止delphi Xe2 自动检查更新,可以使用以下办法:
1、设置防火墙,禁止 delphi xe2 联网。
2、 运行注册表器(regedit),定位到HKEY_CURRENT_USER\Software\Embarcadero\BDS\9.0\AutoRun ,然后删除自动更新的程序键值。
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;
网页链接
delphi xe2 异常 自动 退出
估计你的程序在加载的时候报错引起的,我前几天也遇到了在D7升级到XE2的时候,老是启动后就自动触发Destroy事件就退出了,报错也没有提示哪一行报错,我就是把所有的代码都注释掉,从create事件到show事件一点一点反注释,让它运行查出来的错误;可能XE2在错误处理方面还不是很完善。
更多文章:
G1974时刻表?为什么上海虹桥-重庆西G1974次列车的票价比其他高铁要贵
2023年9月5日 11:20
华为5g什么时候回归(麒麟 9000+5G 回归,华为的首款官翻机来了,售价如何你会买吗)
2023年10月13日 16:00
笔记本系统崩溃了怎么修复(电脑系统崩溃怎么修复 如何修复电脑系统)
2023年5月14日 00:20
4000到6000的笔记本电脑(学习影视后期,价位4000到6000的笔记本该如何选择)
2024年6月6日 02:02
投影仪流明越大越清晰吗(是不是投影仪的流明越高,投影的画面就越清晰,画面尺寸就越大)
2024年7月22日 04:29
索尼爱立信w585(索爱W595型号的手机和W595C型号的有什么区别么)
2024年1月11日 22:20
惠普m452dn(惠普m452dn红黄兰黑不墨盒是怎么问题)
2024年3月11日 06:45
尼康p1000详细参数(尼康p1000扩印10寸片画怎么样)
2024年7月17日 10:35
联想sl410k可以装win10吗(联想THINKPAD SL410K 怎么装系统)
2024年7月14日 19:45
xplay6 音质(vivoxplay6最新系统版本影响音质吗)
2024年6月5日 23:15