K
kunwyf12345
Unregistered / Unconfirmed
GUEST, unregistred user!
我定义了一个myoutputtype myoutput=class(tpanel)CMyOutput:array [0..MAXVIEWNUM-1] of myoutput;窗体创建时创建CMyOutput for i:=0 to combobox1.itemindex do begin for j:=0 to combobox1.itemindex do begin CMyOutput[m]:=MYOUTPUT.create(Self); CMyOutput[m].Parent:=frmmain; CMyOutput[m].Height:=panel2.Height div (combobox1.itemindex+1); CMyOutput[m].width:=panel2.width div (combobox1.itemindex+1); CMyOutput[m].top:=panel2.top+(i )*CMyOutput[m].Height ; CMyOutput[m].left:=panel2.left+(j)*CMyOutput[m].width; CMyOutput[m].Caption:=inttostr(m); CMyOutput[m].BevelInner:=bvlowered; CMyOutput[m].BevelWidth:=2; CMyOutput[m].PopupMenu:=popupmenu1; CMyOutput[m].OnClick:=CMyOutput[m]._ButtonClick; CMyOutput[m].OnMouseDown:=CMyOutput[m]._MouseDown; cmyoutput[m].m_iPlayhandle:=-1; CMyOutput[m].setindexi(m); inc(m); end; end;点按钮时运行下句if (CMyOutput[icount].Handle >= 0) thenCMyOutput[icount].StartNet(@selipinfo[icount]);偶尔就会跳转到controls单元的procedure TWinControl.HandleNeeded;begin if FHandle = 0 then然后报内存错误如果把if (CMyOutput[icount].Handle >= 0) then去掉,直接运行下句也是偶尔正确,偶尔在StartNet的事件内跳到system单元的procedure _HandleFinally;的 MOV EAX,[ESP+4]行,然后报内存错误为什么啊?CMyOutput在formshow的时候就创建了,为什么取handle时有时候就报错,有时候没问题啊