怎么创建一个公用的单元。 程序中有些事件几个窗体都用到。我想写在一个公用的单元里面其它单元调用这个单元就可以了。怎么创建,我在工程中创建了一个单元但是把事件写上去就会报错。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 公用窗体先要被其他窗体引用,另外事件方法要是public,最后公用窗体的事件不是直接被调用的,而是赋给你窗体的事件,由你窗体来调用,具体可以看这里http://www.cnblogs.com/sclsch/archive/2009/05/25/1487594.html 接以下方式即可{**************************************************************************************** 全局使用到的函数/过程 被定义为类方法,在调用时不需要类的实例 例如 TJTH.ShowErrorMsg('保存成功','错误提示'); 即可; TJTH 的所有函数执行结果: 1):失败为False; 2):成功为True;*****************************************************************************************}unit FunctionUnit;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, Db, ADODB, ComCtrls, inifiles, TypInfo;const sError = '错误提示...'; sHint = '提示...';type TJTH = class { 显示错误提示对话框} class function ShowErrorMsg(msg, Caption: string): boolean; {判断字符串是否数字} class function IsNumeric(Data: string): boolean; end;implementation//uses MainFrm;//判断字符串是否数字class function TJTH.IsNumeric(Data: string): boolean;var i, code: integer;begin try StrToFloat(data); //result := true; except result := false; end;end;{*************************显示错误提示对话框*****************************************}class function TJTH.ShowErrorMsg(msg, Caption: string): boolean;begin MessageBox(GetActiveWindow, Pchar(msg), PChar(Caption), MB_ICONERROR + MB_OK); Result := True;end;{************************************************************************************}initializationfinalizationend. 1.file->new->unit 新建unit22.interface下面加放要引用的单元,比如什么uses Windows, Messages, SysUtils,之类的3.接着,写上过程/函数的声明4.implementation下面就写过程/函数的实现部分5.其它窗体/单元在implementation下面引用unit2, 这样就可以使用unit2中的东东了简单的就像这样子:unit Unit2;interface uses Dialogs; procedure xx(yy:string);implementationprocedure xx(yy:string);begin showmessage(yy);end;end.{窗体中:}...var Form1: TForm1;implementation uses unit2;{这里引用/或者在interface下面的uses引用}{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);begin xx('Hello !');end;end. delphi ocx 接口调用 Delphi里使用QuickReport双面打印时头尾方向相反 关于数据库设计的一点感想 如何保存邮件附件并取得附件类型???? 再次是sql语句写法问题 新手请教一个问题。。谢谢 使用TMSCOMM要求license的问题 刪除文件中的记录 安装程序的问题--install shield+delphi iocp的接收接收数据过程中调用ado线程插入数据,数据有错乱 delphi XE2 多点触控 急!!!!急!!!!急!!!! 散完走人
http://www.cnblogs.com/sclsch/archive/2009/05/25/1487594.html
{****************************************************************************************
全局使用到的函数/过程 被定义为类方法,在调用时不需要类的实例
例如
TJTH.ShowErrorMsg('保存成功','错误提示');
即可;
TJTH 的所有函数执行结果:
1):失败为False;
2):成功为True;
*****************************************************************************************}unit FunctionUnit;interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls, Db, ADODB, ComCtrls, inifiles, TypInfo;
const
sError = '错误提示...';
sHint = '提示...';type
TJTH = class
{ 显示错误提示对话框}
class function ShowErrorMsg(msg, Caption: string): boolean;
{判断字符串是否数字}
class function IsNumeric(Data: string): boolean;
end;implementation//uses MainFrm;
//判断字符串是否数字class function TJTH.IsNumeric(Data: string): boolean;
var i, code: integer;
begin
try
StrToFloat(data);
//result := true;
except
result := false;
end;
end;{*************************显示错误提示对话框*****************************************}class function TJTH.ShowErrorMsg(msg, Caption: string): boolean;begin
MessageBox(GetActiveWindow, Pchar(msg), PChar(Caption), MB_ICONERROR +
MB_OK);
Result := True;
end;
{************************************************************************************}
initializationfinalizationend.
2.interface下面加放要引用的单元,比如什么uses Windows, Messages, SysUtils,之类的
3.接着,写上过程/函数的声明
4.implementation下面就写过程/函数的实现部分
5.其它窗体/单元在implementation下面引用unit2, 这样就可以使用unit2中的东东了简单的就像这样子:
unit Unit2;interface
uses Dialogs; procedure xx(yy:string);implementationprocedure xx(yy:string);
begin
showmessage(yy);
end;end.{窗体中:}
...
var
Form1: TForm1;implementation uses unit2;{这里引用/或者在interface下面的uses引用}{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
begin
xx('Hello !');
end;end.