主窗体的调用代码:frmInfo.ShowDetailInfo(No); NO为整型。
子窗体:
procedure TfrmDInfo.ShowDetailInfo(No: Integer);
var
i: Integer;
begin
for i := 0 to MainForm.BoxPanel.Num - 1 do
begin
if MainForm.BoxPanel.BoxArray[i].No = No then
begin
Info := MainForm.BoxPanel.Array [i] ;
Invalidate;
break;
end;
end;
show;
end;
BoxPanel是一个控件,非显示型。
Info是一个RECORD
BoxArray是 TINFO类型的数组。
总是执行到Info := MainForm.BoxPanel.Array [i] 出错。
我想可能是跟FORM的CREATE有关。
各位帮帮忙吧?
我不知道这样显示FORM时我的传参数方法是不是对,
是不是要用到CONSTRUCTOR???
怎么用?
子窗体:
procedure TfrmDInfo.ShowDetailInfo(No: Integer);
var
i: Integer;
begin
for i := 0 to MainForm.BoxPanel.Num - 1 do
begin
if MainForm.BoxPanel.BoxArray[i].No = No then
begin
Info := MainForm.BoxPanel.Array [i] ;
Invalidate;
break;
end;
end;
show;
end;
BoxPanel是一个控件,非显示型。
Info是一个RECORD
BoxArray是 TINFO类型的数组。
总是执行到Info := MainForm.BoxPanel.Array [i] 出错。
我想可能是跟FORM的CREATE有关。
各位帮帮忙吧?
我不知道这样显示FORM时我的传参数方法是不是对,
是不是要用到CONSTRUCTOR???
怎么用?
例如
var form1: TForm1;
form1 := TForm1.Create(nil);
try
form1.ShowModal;
finally
form1.Free;
end;
BoxPanel在这个函数体里用是没错的,跟踪时也有正确值。
就是在把info(TINFO)赋值时出错。
我在最前面加一个info := Tinfo.create(self)也不行。
但最怪的是我更改了几次我的应用程序同名单元文件后,突然就不出错了,FORM显示也正常。但后来一不小心我又手动地修改了应用程序同名单元文件中对所用到的文件的引用部分,这个错误又出现了。现在看来就是我的TINFO初始化会出错,问题在哪里呢?是我的DELPHI不正常了吗?