Einzelnen Beitrag anzeigen

appolode

Registriert seit: 28. Sep 2008
Ort: berlin
7 Beiträge
 
Delphi 7 Enterprise
 
#1

listenindex überschreitet das maximum (1)

  Alt 28. Sep 2008, 15:43
Hallo,
ich versuche das folgnde zu realisieren :
- auf eine fremde Applikation zuzugreifen, diese Applikation hat ein TListView und wird ständig mit neuen Daten gefüllt
- mein Program soll diese Liste überwachen, und wenn einen neuen Eitrag kommt, mit einem doppelklick reagieren.

Das habe ich so gemacht :
Delphi-Quellcode:
procedure TForm1.btstartClick(Sender: TObject);
var temp : integer;
    punkt: TPoint;
    cursPos : TPoint;
    Wnd : HWND;
     sClass : array[0..99] of Char;
    phonepunkt : Tpoint;
begin
  temp := GetNumberOfItems;
  GetWindowPosition;
  punkt.X := winrect.Left + ZielLeft + ZielWidth div 2;
  punkt.Y := winrect.Top + ZielTop + ZielHeigth div 2;

  Punkt.x := Round(Punkt.x * (65535 / Screen.Width)) ;
  Punkt.y := Round(Punkt.y * (65535 / Screen.Height)) ;


  Mouse_Event(MOUSEEVENTF_ABSOLUTE or
              MOUSEEVENTF_MOVE,
               punkt.x, punkt.y, 0, 0) ;


 while ( temp = GetNumberOfItems) do
  begin end;
   Mouse_Event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
   Mouse_Event(MOUSEEVENTF_LEFTUP,0,0,0,0);
   //KeyBd_Event(VK_UP, 0, 0, 0);
   //KeyBd_Event(VK_F7, 0, 0, 0);
end;
die folgende ermittelt den ItemsAnzahl in der fremden ListView
Delphi-Quellcode:
function TForm1.GetNumberOfItems : integer;
var
    i : integer;
begin
  i:=SendMessage(WTadvListView, LVM_GETITEMCOUNT, 0, 0);
  lbitems.Caption := inttostr(i);
  result := i;
end;
Aber wenn einen neuen Eintrag kommt, reagiert die fremde Applikation auf das klick mit :
Linstenindex überschreitet das maximum (1)

und weiss nicht warum?
Wie kriege das hin?
  Mit Zitat antworten Zitat