我用F8单步时,为什么程序好像总是在当前点的下面好几行程序?(这个问题老是出现在操作excel过程中即如果你这个程序中有涉及到操作excel,就出现此怪问题)如下:
var ExcelID,range,sheet: Variant;
    str,str1:string;
begin
str1:=dbedit1.Text;//1
str1:=dbedit1.Text;//2
str1:=dbedit1.Text;//3
str1:=dbedit1.Text;//4
str1:=dbedit1.Text;//5
str1:=dbedit1.Text;//6
str1:=dbedit1.Text;//7
str1:=dbedit1.Text;//我特意用这么多,看程序是如何运行的!
adoquery3.Close;
adoquery3.SQL.Clear;
adoquery3.SQL.Add('select * from main where 编号=:bh');
adoquery3.Parameters[0].Value:=str1;
adoquery3.Open;
str:=adoquery3.fieldbyname('被保人姓名').asstring;
ExcelID:=CreateOleObject( 'Excel.Application' );
     ExcelID.Visible := True;
     ExcelID.Caption := 'Microsoft Excel';
     ExcelID.Workbooks.Add(-4167);
     ExcelID.Workbooks[1].WorkSheets['sheet1'];
     Range := ExcelID.Workbooks[1].WorkSheets[1].Range['b1:E1'];
     Range.Merge; //合并单元格
     Range.HorizontalAlignment :=2;
     Range.FormulaR1C1 :=str;
     Range := ExcelID.Workbooks[1].WorkSheets[1].Range['g1:i1'];
     Range.Merge; //合并单元格
     str:=adoquery3.fieldbyname('被保人地址').asstring;
     Range.FormulaR1C1 :=str;
end;
以上程序我调试过,当运行到//5时,实际上那个adoquery3的查询已经完成了,因为当我把鼠标放到str上时,会提示str的值,当调试到adoquery3时,str已经是空值了如图http://bbs.2ccc.com/attachments/cjg98821_2005102711337.jpg
这种情况是如何发生的呀?高手指点!