delphi中的第三方控件如何安装
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delphi中的第三方控件如何安装相关的知识,希望对你有一定的参考价值。
由于组件提供的方式不同,所以安装的方法也是不一样的,下面就目前常见的各种形式的组件的安装方法介绍一下。
1只有一个DCU文件的组件。DCU文件是编译好的单元文件,这样的组件是作者不想把源码公
布。一般来说,作者必须说明此组件适合Delphi的哪种版本,如果版本不对,在安装时就会
出现错误。也正是因为没有源码,给使用者带来了不便,那就是一旦Delphi版本升级,此组
件就不能再使用了,当然有的作者给出了几种版本的DCU文件,用户根据需要选择使用。这
样的组件的安装方法是:在Component菜单中,选择install component,在对话框中的
"into existing package"页中,单击“Unit file name”后的“Browse”按钮,在打开的
文件对话框中,将“文件类型”设定为*.dcu,找到要安装的DCU文件,按OK按钮返回
"into existing package"页后再按OK按钮就可以安装了。注意,此时Delphi会提示
dclusr40.dpk将被重建,是否继续,OK就可以了。这里是将组件安装到dclusr40.dpk包中,
此包从文件名上可以看出是用户自定义组件包,先安装到这个包中吧,下面再讲有关注意
事项。安装完毕会有已经将组件注册完的提示信息以及安装到哪个组件页中的信息等,到
组件面板上看看,一般会出现一个新的组件页,其中有刚安装的组件。
2、只有PAS文件或既有PAS又有DCU文件的组件。这种组件因为有PAS文件,也就是说作者提
供了源码,这就好办多了。安装的方法和上面是一样的,在文件类型中可以设定为DCU也可
以设定为PAS,建议设定为PAS,这样可用你的Delphi重新编译一下,看是否会出现问题。
Delphi升级后只能选择PAS文件安装,这样才能重新编译,使得组件能适应新Delphi版本。
这样的组件是很值得使用的,根据心铃的经验,没有源码的组件最好不要使用,一是存在
Delphi版本升级后无法使用的问题,再者当程序出现问题后用户无法调试组件来判断是否
是组件中存在BUG。
3、有dpk文件的组件包。带有dpk文件的组件包一般是有多个组件构成的,也就是说安装后
会有多个组件供使用,如果只有一个组件作者一般不会制成DPK文件,使用上面的方式发布
就可以了。对于这样的组件包,一般来说会有详细的安装说明文件,如上面提到的RXLIB,
由于组件复杂且安装时有先后顺序,作者不提供安装说明用户根本无法正确安装。如果没
有安装说明文件,那么用下面的方法安装:在File菜单下,选择”OPEN…”打开dpk文件
(文件类型列表框中选*.dpk),在出现的Package窗口中,工具栏上有Install按钮,按此
按钮即可进行安装。如果Install按钮处于无效状态,那么先按Compile按钮编译,一般
来说编译之后Install按钮就会处于有效状态,此时再按Install按钮就可以了。
4、带有Bpl文件的组件包。一般来说这也是由多种组件构成的组件包,它其实是一个动态
连接库文件(DLL)。对于这种组件包的安装方法是:在component菜单下选择
“install packages”,然后单击Add按钮,在打开的文件对话框中找到相应的bpl文件打
开返回后,再单击Ok按钮就可以了。
5、ActiveX控件的安装。要安装这类控件,需要先用regsvr32.exe注册,然后选择
Component菜单中Import ActiveX Control项。在Import ActiveX Control打开的窗口中,
只有已经注册的ActiveX控件才出现在列表中,选中一个然后按Install按钮就可以安装了。
如果事先没有用regsvr32.exe注册也可以按ADD按钮找到OCX文件即时注册,注册后再进行
安装。
几点说明:1 在拿到组件后先看是否有说明文件,一般来说在说明文件中有如何安装的
指导,有些还会有组件的属性、事件、方法的使用说明,这些在使用时是非常重要的。
2 在上面的组件(包)安装操作之前,最好将 *.bpl拷贝到你的System目录中,将
*.pas、*.dcu、*.dcr、*.dp?拷贝到Delphi的Lib目录中再进行。3 前面我们提到安
装DCU组件时,选用的是已经存在的dclusr40.dpk,当然也可以选择安装到一个新的包中,
如果选择新包,需要先取一个名字比如DEMO,事实上安装完毕后用户可以找到的是
Demo.bpl,而找不到DEMO.DPK。假如你已经将一个组件安装到dclusr40.dpk中了,还想再
安装一个组件,如果再安装到dclusr40.dpk中,安装后你得到提示,原来安装的那个组件
已经被取消注册,你将无法使用了。这样不就成了只能安装一个组件了吗?除非你再安装
到一个新的包中才可以两个组件同时使用。当然每安装一个组件生成一个新的BPL文件也
未偿不可,但BPL文件就增加许多。能否在dclusr40.dpk中多安装几个组件呢?当然是可
以的。方法如下:用File菜单下的OPEN打开dclusr40.dpk文件,单击ADD按钮,在打开的
对话框中选择ADD UNIT页面,按Unit file name后的“Browse”按钮打开组件单元文件,
OK即可,用此种方法这样可添加多个组件的单元文件,添加完毕,按一下编译按钮,然后
再按Install按钮即可,如果单元文件是编译好的(DCU)可以直接按安装按钮。4 组件的
删除。光会安装可不行,还要会删除呀。很简单,在component菜单下,选择
install packages,在列表中找到安装所在的Bpl,按Remove按钮,ok!再把Bpl文件删掉
就彻底了,如果不删除BPL文件,下次可以按安装BPL组件的方法再安装使用。 参考技术A component中有个install component ,然后只要在Unit file name中,选择你要添加的东西,选择一个你要添加的面板,就跟工具栏上的东东一样可以使用了.
在delphi中,在运行时如何让拖动的控件显示在最上方?
比如窗体上有panel1、panel2、panel3三个控件。可以拖动panel1到panel2上,也可以拖动panel2到panel1上。总之,可以让拖动那个控件能够位于其他的控件上方,而不是被别的控件遮住了。
参考技术A 我也最近才实现了这个功能,可以说是MPI窗口!用PageControl控件可以实现,你把窗体的边框设为无边框,打开的时候最大化,每打开一个窗体就在主窗体的PageControl上面新建一个标签页,标签显示窗体的Caption属性,并把窗体的父控件设标签页,再在PageControl的标签双击事件中写入双击可以关闭当前标签页的事件就可以了! 参考技术B (Sender as TPanel).BringToFront; 参考技术C unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
Panel3: TPanel;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
procedure Panel1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
end;
var
Form1: TForm1;
implementation
$R *.dfm
procedure TForm1.FormCreate(Sender: TObject);
begin
RadioButton1.Caption := '置前';
RadioButton2.Caption := '置后';
RadioButton1.Checked := True;
Panel2.OnClick := Panel1Click;
Panel3.OnClick := Panel1Click;
Panel1.ParentBackground := False;
Panel1.Color := clRed;
Panel2.ParentBackground := False;
Panel2.Color := clLime;
Panel3.ParentBackground := False;
Panel3.Color := clBlue;
end;
procedure TForm1.Panel1Click(Sender: TObject);
begin
if RadioButton1.Checked then TPanel(Sender).BringToFront;
if RadioButton2.Checked then TPanel(Sender).SendToBack;
end;
end.
--------------------------------------------------------------------------------
窗体文件:
--------------------------------------------------------------------------------
object Form1: TForm1
Left = 0
Top = 0
Caption = 'Form1'
ClientHeight = 174
ClientWidth = 264
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
OldCreateOrder = False
OnCreate = FormCreate
PixelsPerInch = 96
TextHeight = 13
object Panel1: TPanel
Left = 8
Top = 16
Width = 151
Height = 41
Caption = 'Panel1'
TabOrder = 0
OnClick = Panel1Click
end
object Panel2: TPanel
Left = 46
Top = 40
Width = 151
Height = 41
Caption = 'Panel2'
TabOrder = 1
end
object Panel3: TPanel
Left = 102
Top = 63
Width = 151
Height = 41
Caption = 'Panel3'
TabOrder = 2
end
object RadioButton1: TRadioButton
Left = 32
Top = 136
Width = 113
Height = 17
Caption = 'RadioButton1'
TabOrder = 3
end
object RadioButton2: TRadioButton
Left = 151
Top = 136
Width = 113
Height = 17
Caption = 'RadioButton2'
TabOrder = 4
end
end本回答被提问者采纳 参考技术D 去看下万一博客吧.
有这样的一个实类!
以上是关于delphi中的第三方控件如何安装的主要内容,如果未能解决你的问题,请参考以下文章