Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Probleme mit zweifachen "picture.assign" (https://www.delphipraxis.net/173004-probleme-mit-zweifachen-picture-assign.html)

Jazzman_Marburg 2. Feb 2013 14:00

Probleme mit zweifachen "picture.assign"
 
Moin zusammen!
Ich plage mich gerade mit folgendem Problemchen -- vielleicht hat jemand ja einen Rat :stupid:.
Ich hole mit getBitmap() zwei Bitmaps aus einer Imagelist (fBmp und fBmp2). Nun möchte ich MyImage (TImage) das fBmp für ca. 50 ms anzeigen lassen, und danach das fBmp2. Leider sehe ich das fBmp aber nie (egal wie lang sleep() ist). Wenn ich aber nur das fBmp anzeigen lasse (ohne, dass dahinter fBmp2 kommt) wird es angezeigt. Ein MyImage.Picture.Assign(Nil) dazwischen ändert daran nichts.

Delphi-Quellcode:
  fBmp.Assign( nil );
  fBmp2.Assign( nil );

  MyImgLst.GetBitmap( 0, fBmp );
  MyImgLst.GetBitmap( 1, fBmp2 );

  MyImage.Picture.Assign( fBmp );         // wird nicht gezeigt!
  Sleep( 50 );                            // egal wie lang
  MyImage.Picture.Assign( nil );          // egal ob mit oder ohne
  MyImage.Picture.Assign( fBmp2 );        // nur fBmp2 wird angezeigt
Fehlt mir bei dem zweifachen assign ein Update oder Refresh -- oder wie kann man sich sonst, für kurze Zeit ein BMP anzeigen lassen, und danach ein anderes?
Jemand eine Idee?

Lieben Dank & Gruß
Jazzman

Bernhard Geyer 2. Feb 2013 14:06

AW: Probleme mit zweifachen "picture.assign"
 
Tja. Mit Sleep legst du den Prozess schlafen. Da kann nix angezeigt werden.

Am einfachsten müsst es sein wenn du einen Timer (TTimer) bemühst der das zweite Bmp läd wenn der Timer zuschlägt.

DeddyH 2. Feb 2013 14:09

AW: Probleme mit zweifachen "picture.assign"
 
Du hast Dir die Antwort doch selbst gegeben: Füge vor dem Sleep ein Image.Update ein, dann solltest Du auch etwas sehen.

Jazzman_Marburg 2. Feb 2013 14:18

AW: Probleme mit zweifachen "picture.assign"
 
Zitat:

Zitat von DeddyH (Beitrag 1201784)
Du hast Dir die Antwort doch selbst gegeben...

Brrr :stupid:

Sollte mal eine Kaffeepause machen.

Vielen Dank!

Gruß
Jazzman


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:23 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