Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi listenindex überschreitet das maximum (1) (https://www.delphipraxis.net/121475-listenindex-ueberschreitet-das-maximum-1-a.html)

appolode 28. Sep 2008 15:43


listenindex überschreitet das maximum (1)
 
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?

mkinzler 28. Sep 2008 15:47

Re: listenindex überschreitet das maximum (1)
 
Der Index beginnt bei 0

marabu 29. Sep 2008 07:27

Re: listenindex überschreitet das maximum (1)
 
Herzlich willkommen in der Delphi-PRAXiS, appolode.

Nach deiner Beschreibung zu urteilen tritt der Fehler in der fremden Anwendung auf, vermutlich weil dort schlampig programmiert wurde. Hast du schon überprüft, dass du an die richtige Stelle klickst? Hast du dir auch mal die Benachrichtigungen LVN_INSERTITEM, LVN_DELETEITEM und LVN_ITEMCHANGED angesehen?

Freundliche Grüße vom marabu


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:25 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz