MDI窗体报错!

zoao 2000-03-03 11:06:00
产生MDIChild窗体报错!

我在代码页中输入以下
UseForm:=TUseForm.create(self);
运行时报错:
'List index out of bound(0)'

UseForm窗体在Available栏内。
...全文
196 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
jll 2000-03-07
  • 打赏
  • 举报
回复
建议单步跟踪程序以确定问题所在,MDI本身应该没有什么问题
bubble 2000-03-07
  • 打赏
  • 举报
回复
在生成MDIChild子窗体前应判断此窗体是否存在,我一直这样做,从未出现过问题。
下面是程序的代码:
{MDIMainForm是主窗体;IMRegisterForm是子窗体}

if MDIMainForm.MDIChildCount=0 then
begin
ChildIndex:=0;
while (ChildIndex<MDIMainForm.MDIChildCount) and
(MDIMainForm.MDIChildren[ChildIndex].Name<>IMRegisterForm.Name) do
Inc(ChildIndex);
if ChildIndex = MDIMainForm.MDIChildCount then
{create new child here}
begin
Application.CreateForm(TIMRegisterForm,IMRegisterForm);
end
else
{child form already exists so just bring it to the top}
MDIMainForm.MDIChildren[ChildIndex].BringToFront;
supershan 2000-03-07
  • 打赏
  • 举报
回复
请贴出原码
huiwsey 2000-03-04
  • 打赏
  • 举报
回复
I agree with Lin, I meeted this problem too. NOT MDI , check other code.
渤海海峡 2000-03-03
  • 打赏
  • 举报
回复
也许问题在useform.oncreate中?
Lin 2000-03-03
  • 打赏
  • 举报
回复
这种问题我也遇到过,不会是MDI的问题.极可能是其他数组变量或属性(如Items, Lines等)没初始化又引用引起的.
sess 2000-03-03
  • 打赏
  • 举报
回复
MDI本身有缺陷
l2000 2000-03-03
  • 打赏
  • 举报
回复
MDI的子窗体创建,是可以这样的,至于List index out of bound(0)'的问题和
UseForm:=TUseForm.create(self);无关。问题应该出在StringGrid之类的控件中。
Field的长度与实际的字符串长度不符导致的。
AcherMagic 2000-03-03
  • 打赏
  • 举报
回复
yjq说的有道理,你可能在Formcreate里操作
memo的lines或者其他造成数组越界
CSKIN-15.1.28 1.优化SkinTabControl标签移入移出效果。 2.将SkinTextBox改为容器边框,其他控件可放进其里面。 3.设置SkinTextBox中的TextBox为不可点击,详细参数在属性栏里设置。 4.SkinPanel添加属性(BorderColor:边框颜色)。 5.添加(SkinPushPanel:抽屉控件列表,根据Items添加。)和(SkinCaptionPanel:面板控件单独)。 6.添加(SkinCode:验证码控件。)。 7.减少SkinTreeView的闪烁。 8.窗体XP下最大化移动BUG修复。 9.修复SkinButton的禁止状态绘制不显示的问题。 10.修复SkinDataGridView的一些设置BUG。 11.修复SkinRadioButton属性Text为空报错问题。 12.修复属性(Shadow:是否启用窗体阴影)。 13.加入(日期面板控件:SkinMonthCalendar),(日期选择框控件:SkinDateTimePicker)。 14.加入(弹出承载控件:SkinDropDown) 使用方法: SkinDropDown _SkinDropDown = new SkinDropDown(控件:Control); _SkinDropDown.Show(new Point(0, 22)); 15.添加SystemInformationHelper静态类,获得操作系统版本。 16.添加控件(SkinHotKey:自定义热键注册控件)。 17.窗体添加属性(XTheme:窗体主题,类型:继承CCSkinMain的窗体),增加皮肤更换属性,更好的对换肤支持。 18.增加了MDI支持,并多了一些属性设置MDI。 19.对好友列表进行了绘制优化,效率MAX,真正达到了千人不卡。 20.好友列表添加属性(SmoothScroll:是否平滑滚动),对好友列表加入平滑滚动的效果。 21.修复异形窗体SkinMain不可在透明区域放控件的BUG。 22.好友列表好友拖动效果优化。 23.解决SkinMain异形窗体无法点击触发点击事件问题。 24.修复SkinToolTip的字体颜色及大小BUG。 CSKIN-14.8.26 1.修复SkinPanel滚动条不显示的问题。 2.修复SkinPanel右下边框不显示的问题。 3.修复好友列表头像闪烁的一些BUG。 4.修复SkinMain异形窗体点击任务栏最小化操作。 5.加入内置工具类FastBitmap,此类用来快速Bitmap读写像素,如何使用看:http://bbs.cskin.net/thread-83-1-1.html。 6.修复截图控件的未选框双击错误BUG,增加截图控件属性BmpLayerCurrent:控件所截图的图片。 7.SkinToolStrip添加BaseItemNorml属性,BaseItem默认背景图。 8.修复SkinComboBox下拉框项的细节样式。 9.加入SkinFileTansfersContainer控件与SkinFileTransfersItem控件。 SkinFileTansfersContainer:文件传输列表容器,这里面内置Add,Remove,Search等操作ItemList方法。 SkinFileTransfersItem:文件传输列表项,用于添加进列表容器。 10.SkinToolStrip控件添加BindTabControl=(绑定要操作的TabControl)属性,绑定后点击ToolStripButton就可以根据ToolStripButton中的Tag=(TabPage的Index值)进行切换TabPage。 11.优化设计时SkinTabControl略卡的问题。 12.SkinTabePage添加属性(BorderColor:边框颜色)。 13.修复好友列表闪烁状态下好友被删除,分组依然闪烁。 14.SkinButton、SkinCheckBox、SkinRadioButton添加属性(IsEnabledDraw:是否画禁用状态下的效果,默认true)。 15.好友列表添加三个事件: (DownSubItem:用鼠标按下子项时发生) (UpSubItem:用鼠标按下并释放子项时发生) (ClickSubItem:用鼠标单击子项时发生) 16.SkinTabControl添加两个事件: (TabePageClosed:TabPage容器关闭后。) (TabePageClosing:TabPage容器关闭前。) 17.加入彗星小助手案例DEMO。 CSKIN-14.7.2 1.SkinTabContro

5,387

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧