老师的,但用不好呀.
var
Form1: TForm1;
implementation
USES UNIT2,UNIT3,UNIT4,UNIT5,UNIT6,UNIT7,unit8,UNIT9;
VAR
A:TFrame2;
B:TFRAME3;
C:TFRAME4;
D:TFRAME5;
E:TFRAME6;
F:TFRAME7;
g:TFRAME8;
H:TFRAME9;
{$R *.dfm}
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
IF ASSIGNED(B) THEN B.FREE
ELSE
IF ASSIGNED(A) THEN A.FREE;
B:=TFRAME3.CREATE(SELF);
B.Parent:=PANEL2;
B.Align:=ALCLIENT;
B.SHOW;
end;
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
IF ASSIGNED(A) THEN A.Free
ELSE
IF ASSIGNED(B) THEN B.Free;
A:=TFRAME2.Create(SELF);
A.Parent:=PANEL2;
A.Align:=ALCLIENT;
A.SHOW;
end;
procedure TForm1.BitBtn3Click(Sender: TObject);
begin
if assigned(c) then c.Free
else
if assigned(d) then d.Free;
c:=tframe4.Create(self);
c.Parent:=panel2;
c.Align:=alclient;
c.Show;
end;
procedure TForm1.BitBtn4Click(Sender: TObject);
begin
if assigned(D) then D.Free
else
if assigned(C) then C.Free;
d:=tframe5.Create(self);
d.Parent:=panel2;
d.Align:=alclient;
d.Show;
end;
procedure TForm1.BitBtn5Click(Sender: TObject);
begin
if assigned(e) then e.Free
else
if assigned(f) then f.Free;
e:=tframe6.Create(self);
e.Parent:=panel2;
e.Align:=alclient;
e.show;
end;
procedure TForm1.BitBtn6Click(Sender: TObject);
begin
if assigned(F) then F.Free
else
if assigned(E) then E.Free;
f:=tframe7.Create(self);
f.Parent:=panel2;
f.Align:=alclient;
f.show;
end;
procedure TForm1.BitBtn7Click(Sender: TObject);
begin
if assigned(g) then g.Free
else
if assigned(H) then H.Free;
g:=tframe8.Create(self);
g.Parent:=panel2;
g.Align:=alclient;
g.Show;
end;
procedure TForm1.BitBtn8Click(Sender: TObject);
begin
if assigned(H) then H.Free
else
if assigned(G) then G.Free;
H:=tframe9.Create(self);
H.Parent:=panel2;
H.Align:=alclient;
H.Show;
end;
end.
当从A顺序点击到G,重复两次到三次,或者随便乱点几次后就提示:ACCESS VIOLATION AT ADDRESS 004030E0 IN MODULE "VERTEX_ERP.EXE",READ OF ADDRESS 000000A4.请叫各们大哥.
问题点数:20、回复次数:17Top
1 楼yq3woaini(哈哈镜 选择好心情)回复于 2006-05-04 10:55:27 得分 0
好乱 不知道幹什麽呢Top
2 楼m456()回复于 2006-05-04 11:18:46 得分 0
一个窗体分为两部份,左边有BITBTN1-BITBTN8黄八个钮.右边有TFRAME2-TFRAME9,bitbtn与TFRAME是一一对应的.当从BITBTB1顺序点击到BITBTB8,重复两次到三次,或者随便乱点几次后就提示:ACCESS VIOLATION AT ADDRESS 004030E0 IN MODULE "VERTEX_ERP.EXE",READ OF ADDRESS 000000A4.请叫各位大哥.Top
3 楼m456()回复于 2006-05-04 14:35:50 得分 0
我知道错在那里了.第一个判断都应是IF ASSIGNED(A) THEN A.FREE;Top
4 楼maming2003(關機.睡覺!)回复于 2006-05-05 11:04:53 得分 0
谁TM全用大写字母写程序的啊。。。。真晕Top
5 楼dinglinger(小呆之家)回复于 2006-05-05 12:45:54 得分 0
那些代码是你老师写的!?
真是完了......哎....误人子弟!严重BS!Top
6 楼liangqingzhi(老之)回复于 2006-05-05 13:46:37 得分 0
To dinglinger(红辣椒)
你也看过这个贴
http://community.csdn.net/Expert/topic/4710/4710323.xml?temp=.851864
我给楼主的例子是针对两个Frame的,这个贴的代码不是我写的,没想到楼主连8个Frame也这么用。如果您对事情一知半解,请不要胡乱猜测,更不要鄙视别人。Top
7 楼dinglinger(小呆之家)回复于 2006-05-06 14:04:29 得分 0
呵~~,如果不是你写的,错不在你.
但你也应当要求你的学生有一个好的代码风格才是啊.
不要说学生风格不好与你无关.呵~~Top
8 楼liangqingzhi(老之)回复于 2006-05-06 14:07:33 得分 0
晕,我只发过一个代码给他,我什么时候当过他老师了?!Top
9 楼hsmserver(撒哈拉之雨的悲伤)回复于 2006-05-06 14:09:08 得分 0
何其壮观Top
10 楼dinglinger(小呆之家)回复于 2006-05-06 14:09:08 得分 0
你看他写的贴子的标题.
呵~~,错怪之处,还请海涵了.
不过,真是难为你了,有个这样的徒弟........Top
11 楼hsmserver(撒哈拉之雨的悲伤)回复于 2006-05-06 14:10:45 得分 0
就算当老师,学生的水平也不能代表老师的水平,
呵呵,毕竟悟性不同嘛
Top
12 楼hellolongbin(一个人(自从扩充话题改版,再也不去灌水乐园了))回复于 2006-05-06 14:11:24 得分 0
实在忍不住,不得不笑鸟Top
13 楼hsmserver(撒哈拉之雨的悲伤)回复于 2006-05-06 14:13:44 得分 0
implementation
uses Unit2, Unit3;
var
a:TFrame2;
b:TFrame3;//这个是什么类呀.
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
if assigned(a) then a.Free
//请问ASSIGNED各A.FREE是什么意思,
else
if assigned(b) then b.Free;
b:=TFrame3.Create(self);
TFRAME是什么类呀,SELF是不是正常现视的意思呀?
b.Parent:=Panel1;
//PARENT和PANEL1是什么意思
b.Align:=alClient;
//ALIGN和ALCLIENT也不明白.
b.Show;
end;
===============================================
能有这样的问题
呵呵,这不怪老之Top
14 楼dinglinger(小呆之家)回复于 2006-05-06 14:13:49 得分 0
:) :DTop
15 楼liangqingzhi(老之)回复于 2006-05-06 14:14:57 得分 20
真郁闷,楼主的马甲好像还有好几个,我都搞不清哪个跟哪个了...Top
16 楼dinglinger(小呆之家)回复于 2006-05-06 14:17:10 得分 0
怪怪,全是星星的说,快闪才是正道,免得在些献丑了.......嘻嘻......Top
17 楼m456()回复于 2006-05-31 11:33:12 得分 0
这事不能怪"liangqingzhi(老之)"是我自己笨,请大家不要针对他好不好.Top




