AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

TPicture mit eigener BMP-Extension

Ein Thema von Dennis07 · begonnen am 10. Aug 2012 · letzter Beitrag vom 13. Aug 2012
Antwort Antwort
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.431 Beiträge
 
Delphi 12 Athens
 
#1

AW: TPicture mit eigener BMP-Extension

  Alt 10. Aug 2012, 05:51
Moin...

wann wird denn dein Timer aktiviert ? Noch vor dem OnShow ? Wenn ja greifst du auf unerzeugte Objekte zu... ob TBitmap oder TPicture ist da egal...
  Mit Zitat antworten Zitat
Dennis07

Registriert seit: 19. Sep 2011
Ort: Deutschland
491 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: TPicture mit eigener BMP-Extension

  Alt 10. Aug 2012, 22:11
Moin...

wann wird denn dein Timer aktiviert ? Noch vor dem OnShow ? Wenn ja greifst du auf unerzeugte Objekte zu... ob TBitmap oder TPicture ist da egal...
Echt? Das wäre mir neu... Normalerweise werden die Objekte und Variablen doch schon vor auslösen des OnCreate-Ereignisses (also noch lange vor dem OnShow-Ereignis) erstellt...
Mit TStringList etc. funktioniert das doch auch....

Und selbst wenn es so ist: Wo soll ich das erzeugen der TPictures denn sonst hinpacken, da gibt es ja nicht mehr allzu viele Alternativen...

EDIT: ...und JA, ich erzeuge sie beim OnShow-Ereignis, nicht vorher.
Dennis
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.431 Beiträge
 
Delphi 12 Athens
 
#3

AW: TPicture mit eigener BMP-Extension

  Alt 11. Aug 2012, 05:25
Nochmal...

wenn dein Timer bereits im OnCreate oder im Objektinspektor aktiviert wird könnte dein erstes Timer Event bereits vor OnShow auftreten. Da du die Objekte erst im OnShow erzeugst könnten sie zu dem Zeitpunkt noch nicht vorhanden sein.
--> Timer erst nach dem Erzeugen der Images aktivieren.
  Mit Zitat antworten Zitat
Dennis07

Registriert seit: 19. Sep 2011
Ort: Deutschland
491 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: TPicture mit eigener BMP-Extension

  Alt 11. Aug 2012, 09:51
Achso, so meinst du das....
Nein, der Timer wird natürlich auch erst im OnShow-Ereignis aktiviert, und zwar nachdem die Bilder in den RAM geladen wurden...
Hierran kann es also nicht liegen.

Dennis
Dennis
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#5

AW: TPicture mit eigener BMP-Extension

  Alt 11. Aug 2012, 10:14
Delphi-Quellcode:
unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls;

type
  TBitMapArray=Array[0..3] of TBitMap;
  TForm2 = class(TForm)
    Timer1: TTimer;
    Image1: TImage;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
  private
    FBitMapArray:TBitMapArray;
    FIndex:Integer;
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}

Procedure BMPCreateAndLoadFromFile(var bmp:TBitmap;const fn:String);
begin
  bmp := TBitmap.Create;
  bmp.LoadFromFile(fn);
end;


procedure TForm2.FormCreate(Sender: TObject);
Const
  Path='C:\Bilder\IconCollection\ix_ap_all\48x48\plain_bitmap\';
begin
  BMPCreateAndLoadFromFile(FBitMapArray[0],Path + 'about.tex');
  BMPCreateAndLoadFromFile(FBitMapArray[1],Path + 'add.xxx');
  BMPCreateAndLoadFromFile(FBitMapArray[2],Path + 'add2.yyy');
  BMPCreateAndLoadFromFile(FBitMapArray[3],Path + 'bookmark.aaa');
end;

procedure TForm2.FormDestroy(Sender: TObject);
var
 i:Integer;
begin
  for I := 0 to High(FBitMapArray) do
      FreeAndNil(FBitMapArray[i]);

end;

procedure TForm2.Timer1Timer(Sender: TObject);
begin
    Image1.Picture.Assign(FBitMapArray[FIndex]);
    inc(FIndex);
    if FIndex > 3 then Findex := 0;

end;

end.
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)

Geändert von Bummi (11. Aug 2012 um 12:40 Uhr)
  Mit Zitat antworten Zitat
Dennis07

Registriert seit: 19. Sep 2011
Ort: Deutschland
491 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: TPicture mit eigener BMP-Extension

  Alt 11. Aug 2012, 10:57
Hallo,
Und es gibt keine Möglichkeit, den TFileStream zu umgehen?
Ich verstehe nicht, wieso ich nicht einfach Vier Bilder erzeugen kann und diese dann bei bedarf in das TImage einlesen kann....
Weiß jemand von euch einen möglichen Grund?
Dennis
  Mit Zitat antworten Zitat
freeway

Registriert seit: 11. Jul 2009
57 Beiträge
 
Delphi XE Professional
 
#7

AW: TPicture mit eigener BMP-Extension

  Alt 11. Aug 2012, 11:46
du kannst auch ohne TFileStream die Bilder in das array laden, anderseits was spricht gegen TFileStream ?
TFileStream erkennt an der Extension um welches Format es sich handelt
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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:42 Uhr.
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