AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

BitBlt und Assign() - Exception?!

Ein Thema von creality · begonnen am 24. Jan 2008
Antwort Antwort
Benutzerbild von creality
creality

Registriert seit: 14. Mai 2007
Ort: Double D Town
39 Beiträge
 
Delphi 2007 Professional
 
#1

BitBlt und Assign() - Exception?!

  Alt 24. Jan 2008, 07:09
Hallo Leute,

folgendes Problem: In einem Thread läuft immer nur diese Funktion ab:
Delphi-Quellcode:
procedure TRefresh_2.Execute;
begin
  with FWorkImage do
  begin
    PixelFormat := pf8bit;
    Width := Image1.Width;
    Height := Image1.Height;
  end;
  //
  // LOOP starts here...
  //
  while not Self.Terminated do
  begin
    try
      BitBlt(FWorkImage.Canvas.Handle,
        0,
        0,
        Image1.Width,
        Image1.Height,
        Image1.Canvas.Handle,
        0,
        0,
        SRCCOPY);
      Synchronize(Sync);
      Sleep(20);
    except
      raise Exception.Create('EXECUTE Counter at: ' + IntToStr(FCounter));
    end;
  end;
end;

procedure TRefresh_2.Sync;
begin
  try
    Inc(FCounter);
    FImage.Assign(FWorkImage);
  except
    raise Exception.Create('SYNC Counter at: ' + IntToStr(FCounter));
  end;
end;
Das Hauptprogramm startet einfach nur den Thread und hat 2 TBitmaps welche beide an den Thread übergeben werden (Image1 und FImage).

Das Programm läuft und läuft...solange man die Maus nicht bewegt oder die GUI resized. Dann knallts mit der Exception: Nicht genügend Speicher verfügbar.

Jemand eine Idee?
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:12 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