请问如何在运行表单前,先提示是否要保存,然后再运行,还有....
1.直接建立一个UNIT后
如下代码
unit unit6;
interface
type
procedure pp();
implementation
uses mainform,forms,Windows, Messages, SysUtils,
Variants, Classes, Graphics, Controls,
Dialogs, StdCtrls, Menus;
var
p:string;
procedure pp();
begin
showmessage('pp')
end;
end.
--------------------------------
编译后系统提示 “Error] domain.pas(6): Identifier expected but 'PROCEDURE' found”
2.请问在type中声明的过程和在PRIAVET和PUBLIC中声明的过程区别在哪里
也就是说如下代码:
-----------------------------
type
TForm1 = class(TForm)
Button1: TButton;
procedure pWM();
private
{ Private declarations }
procedure yWM();
public
{ Public declarations }
procedure zWM();
----------------------------------
请问pWM(),zWM(),yWM()声明在不同地方,private和public二处声明的含义我明白,但type后声明的过程和在private和public中声明的过程区别在哪里
问题点数:100、回复次数:19Top
1 楼jeckyang(霸海小龙)回复于 2004-08-03 10:53:18 得分 0
好象建立新的UNIT后只能在implementation后写代码,好象没法在接口部分写use,type..
(和新建一个表单时同步出现的UNIT有区别)
Top
2 楼jinjazz(近身剪)回复于 2004-08-03 11:17:22 得分 50
1、把type去掉
2、打开dfm文件看看,用在这里的,而其他的两个没有
object Button1: TButton
Left = 256
Top = 152
Width = 75
Height = 25
Caption = 'Button1'
TabOrder = 0
OnClick = Button1Click
endTop
3 楼jeckyang(霸海小龙)回复于 2004-08-03 13:14:21 得分 0
jinjazz(人雅的标记--落寞刺客):我是说pWM(),zWM(),yWM()这三个过程,我在dfm文件中并没有看到啊!!!!Top
4 楼ghchen()回复于 2004-08-03 13:24:21 得分 10
type 是用来定义类型的,不是procedureTop
5 楼GoldShield(李柏岑)回复于 2004-08-03 13:50:28 得分 10
参透DELPHI上面讲的很详细,Top
6 楼jinjazz(近身剪)回复于 2004-08-03 13:59:36 得分 0
只有pwm那样的函数过程才能在object inspector中直接在按钮事件的下拉选择框中找到,并附给按钮事件,这个信息其实是保存在dfm文件中的,我让你打开看,OnClick = Button1Click这一句的
public等却只能通过外部或内部的调用来触发Top
7 楼jeckyang(霸海小龙)回复于 2004-08-03 14:13:15 得分 0
是啊!我确实这样看的,但我却没有在object inspector中直接在按钮事件的下拉选择框中找到pwm过程,而且向你说的OnClick = Button1Click可以在dfm文件中看到,但为啥pwm无法在其中发现呢Top
8 楼longtusoft(神灯之主)回复于 2004-08-03 14:27:50 得分 10
TYPE关键字是用来定义类型的,不是用来声明过程或函数的.
你要声明函数,只能在对象里(声明为成员函数/过程)或者直接在INTERFACE里或IMPLEMENTATION里.不同之处在于该函数(过程)的可见性不同.Top
9 楼jinjazz(近身剪)回复于 2004-08-03 14:39:36 得分 0
那时你的参数不一致
procedure pp();在button的 onclick事件列表中是找不到的
而procedyre pp(sender:Tobject);可以
Top
10 楼jeckyang(霸海小龙)回复于 2004-08-03 14:44:59 得分 0
我还想请问大家类中public为全局,那published呢,换句话说public中声明的过程和button1 click()区别在哪里,除去一个是自定义一个是表单自身就携带的.Top
11 楼jinjazz(近身剪)回复于 2004-08-03 14:47:37 得分 0
published在object inspector中属性都是这个类型的Top
12 楼jeckyang(霸海小龙)回复于 2004-08-03 14:50:44 得分 0
那如果我自定义一个过程作为published呢(换句话说直接跟在TForm1 = class(TForm)后面和自定义一个过程放在public中,二者的区别在哪里.Top
13 楼jinjazz(近身剪)回复于 2004-08-03 15:04:47 得分 0
如果是property,在类发布的时候就有差别来了Top
14 楼jeckyang(霸海小龙)回复于 2004-08-03 15:07:03 得分 0
如果是过程呢??Top
15 楼jinjazz(近身剪)回复于 2004-08-03 15:20:27 得分 0
应该是一样的,虽然可以但没人这么写过Top
16 楼risingsoft(一苇渡江)回复于 2004-08-03 15:45:25 得分 20
你对unit的结构还不是很熟悉吧。
把你的type去掉就可以了Top
17 楼risingsoft(一苇渡江)回复于 2004-08-03 15:45:58 得分 0
或者在type下面加入代码
TMyTemp = record
end;Top
18 楼risingsoft(一苇渡江)回复于 2004-08-03 15:46:25 得分 0
因为type后必须直接跟一个类定义,明白?》Top
19 楼jeckyang(霸海小龙)回复于 2004-08-03 15:56:29 得分 0
感谢大家的帮助,我刚开始学DELPHI,以后还请大家多帮助Top




