首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

求高手,hook其他程序DBGRID后,增加多条数据报错解决方案

2013-01-27 
求高手,hook其他程序DBGRID后,增加多条数据报错注入程序进程后,获取到了DBGRIDcode:vWinControl : FindCo

求高手,hook其他程序DBGRID后,增加多条数据报错
注入程序进程后,获取到了DBGRID  code: 


  vWinControl := FindControl(g_hWin);
   for I := 0 to vWinControl.ComponentCount - 1 do
    begin
       if SameText(vWinControl.Components[I].ClassName, 'TDBGridE') then
        begin
          DBGRID := TDBGrid(vWinControl.Components[I]);
          Break;
        end; 
    end;


后面

 DataSet := DBGRID.DataSource.DataSet;
   for i:=1 to 10 do
          begin
            DataSet.Insert;
            dataset.Fields[7].AsString:=ExcelApp.Cells[ih,1].Value;
            dataset.Fields[8].AsString:=ExcelApp.Cells[ih,2].Value;
            dataset.Fields[9].AsString:=ExcelApp.Cells[ih,3].Value;
            dataset.Fields[10].AsString:=ExcelApp.Cells[ih,4].Value;
            dataset.Fields[11].AsString:=ExcelApp.Cells[ih,5].Value;
            dataset.Fields[12].AsString:=ExcelApp.Cells[ih,6].Value;
            dataset.Fields[4].AsString:=ExcelApp.Cells[ih,7].Value;
            DataSet.Post;  
          end;

第一条导入OK,第二条导入后发现DBGRID里2条数据内容一模一样
不管加不加dataset.next;

showmessage(inttostr(dataset.recordcount));

内容=1

最后一个难关了。研究了N天了。就差这个了。求HELP


dataset的字段有18个。我用程序自己添加数据,然后获取这18个字段的数值跟导入一条获取的数据,18个字段是一样的。
问题会出在哪里呢。。

[解决办法]
把ih换成i试试?
[解决办法]
这里看不出问题,可以这样测试,先不从Excel取数,只是连续添加一些简单的数据,看看结果如何

   for i:=1 to 10 do
          begin
            DataSet.Insert;
            dataset.Fields[7].AsString:=inttostr(i);
            DataSet.Post;  
          end;



[解决办法]
'TDBGridE'应该是'TDBGrid'吧?
[解决办法]
Good idea
引用:
这里看不出问题,可以这样测试,先不从Excel取数,只是连续添加一些简单的数据,看看结果如何

  for i:=1 to 10 do
  begin
  DataSet.Insert;
  dataset.Fields[7].AsString:=inttostr(i);
  DataSet.Post;  
  end;

热点排行