Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Problem mit function und canvas (https://www.delphipraxis.net/106632-problem-mit-function-und-canvas.html)

k4ni 14. Jan 2008 13:37

Re: Problem mit function und canvas
 
also hier ist die schleife:
Delphi-Quellcode:
procedure TForm1.Schleife();
begin
repeat
if LogCheck() then
Exit;

{**
...
Langer grosser code
...
**}

until
Odd(GetAsyncKeyState(VK_F10));
end;
und hier ist logcheck
Delphi-Quellcode:
function TForm1.LogCheck(): Boolean;
var
  hDeskDC: HDC;
  hDeskWnd: HWND;
begin
  Result := FALSE;

  hDeskWnd := FindWindow('MsClass', nil);
  hDeskDC := GetDC(hDeskWnd);

  if hDeskDC <> 0 then
  begin
     if Windows.GetPixel(hDeskDC, 487, 481) = RGB(255, 255, 255)
       then Result := TRUE
       else Result := FALSE;
  end;

  ReleaseDC(hDeskWnd, hDeskDC);
end;
Also wenn LogCheck = true ist dann müsste er doch die schleife beenden oder?

Klaus01 14. Jan 2008 13:39

Re: Problem mit function und canvas
 
Nö,

die Schleife wird beender wenn Odd(GetAsyncKeyState(VK_F10));
erfüllt ist.
Warum das exit nicht erfolgreich ist????
Hast Du schon mal, wie bereits gesagt Application.ProcessMessages in die Schleife
eingebaut?
Grüße
Klaus

Muetze1 14. Jan 2008 13:43

Re: Problem mit function und canvas
 
Zitat:

Zitat von Klaus01
Warum das exit nicht erfolgreich ist????
Hast Du schon mal, wie bereits gesagt Application.ProcessMessages in die Schleife
eingebaut?

Was sollte das eine mit dem anderen zu tun haben? Exit ist ein direkter Sprung zum Ende der Prozedur (grob gesagt) und hat nichts mit irgendwelcher Nachrichtenabarbeitung zu tun.

k4ni 14. Jan 2008 13:47

Re: Problem mit function und canvas
 
Habs damit auch versucht geht nicht :(
Naja sollte ja auch nicht nachdem was Muetze sagt :D

Aber ich finde es trotzdem komisch warum es nicht geht ..hmm :cry:

Klaus01 14. Jan 2008 13:50

Re: Problem mit function und canvas
 
Setze doch einmal einen Breakpoint in die LogCheck
Funktion und schau ob
Delphi-Quellcode:
if hDeskDC <> 0 then
jemals erfüllt ist.

Grüße
Klaus


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:02 Uhr.
Seite 2 von 2     12   

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