Zitat von
Periander:
Meine vermutung ist, dass es irgendwas mit dem handel aus der DesktopColor Funktion zu tun hat. Habt ihr eine Idee?
Da sehe ich nichts verdächtiges, du hast nur viel zu viel Quelltext. Du musst doch nicht extra ein TCanvas erzeugen, nur um dessen
Handle als Variable zu verwenden.
Delphi-Quellcode:
function DesktopColor(const x,y: integer): TColor;
begin
Result := GetPixel(GetWindowDC(GetDesktopWindow), x, y);
end;
Setze im Projektquelltext (Projekt --> Quelltext anzeigen) einfach einmal ReportMemoryLeaksOnShutDown auf True, dann bekommst du die beim Beenden des Programms angezeigt. Das geht allerdings erst ab Turbo Delphi / Delphi 2006.
Vorher und für mehr Details kannst du FastMM verwenden.
Dann noch andere Sachen:
Statt Sleep würde ich Delay benutzen, sonst hängt das Programm immer:
http://www.delphipraxis.net/internal...ect.php?t=7355
Zitat von
Periander:
if start=true then
Der Vergleich mit true ist nicht nur unlogisch sondern falsch.
Hier habe ich mal ein kleines Beispiel gebastelt, wann es schief geht:
http://www.delphi-forum.de/viewtopic...=548760#548760
Mehr dazu steht hier:
http://www.delphi-treff.de/tutorials...werten/page/4/
Zitat von
Periander:
Ansonsten habe ich noch ein paar weitere Timer, die sich nacheinander aufrufen.
Dann hast du beim Konzept vermutlich einiges falsch gemacht. Mit der richtigen Logik braucht man nicht viele Timer.