Hallo,
manchmal hilft Einrücken, dann sieht man den Fehler:
Delphi-Quellcode:
procedure TDiashow.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var x: integer;
begin
x:=0;
if (key = $21) then {bild hoch}
begin // <<< fehlte
SetCursorPos(600,500);
while x>0 do
begin // <<< fehlte
Mouse_Event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
Mouse_Event(MOUSEEVENTF_LEFTUP,0,0,0,0);
x:= x+1;
Sleep(Millisekunden);
end; // <<< fehlte
end // <<< fehlte
else // <<< fehlte
if (key = $22) then
Close; {bild runter}
end;
Erstens: wie man jetzt sehen kann, wird die while schleife nicht gestartet, weil x=0 ist.
Zweitens: desweiteren kann die while Schleife, sollte sie nach Korrektur doch gestartet werden nicht verlassen werden, bis x sehr weit hochgezählt wurde, nämlich ca 21 Milliarden irgenwas.
Gruss