Entwickler-Ecke

Multimedia / Grafik - gleiches Bild in verschieden TBitmaps


Neron17 - Mo 23.02.04 13:48
Titel: gleiches Bild in verschieden TBitmaps
Hej Leute!

Ich hab ein Problem mit einem Bitmap. Und zwar möchte ich das gleiche Bild in zwei verschiedene Bitmaps laden.


Quelltext
1:
2:
3:
4:
5:
6:
var bild, bildkopie : TBitmap;

...
bild.LoadfromFile(*datei*);
bildkopie.LoadfromFile(*datei*);
...


Der Compiler gibt dabei keine Fehlermeldung aus, sondern erst die Anwendung, wenn ich sie ausführe.
Und wenn ich der 'bildkopie' das 'bild' zuweise, dann hängen die beiden TBitmaps irgendwie zusammen und alles was ich in dem einen Bitmap zeichne, wird auch im anderen gezeichnet. Wieso ist das so? Und wie kann ich es umgehen?

Danke schon mal für eure Hilfe
Rico


maximus - Mo 23.02.04 14:13
Titel: Re: gleiches Bild in verschieden TBitmaps
Neron17 hat folgendes geschrieben:


Der Compiler gibt dabei keine Fehlermeldung aus, sondern erst die Anwendung, wenn ich sie ausführe.
Und wenn ich der 'bildkopie' das 'bild' zuweise, dann hängen die beiden TBitmaps irgendwie zusammen und alles was ich in dem einen Bitmap zeichne, wird auch im anderen gezeichnet. Wieso ist das so? Und wie kann ich es umgehen?


Weil du nur die object-referenze (pointer) kopierst und nicht das bild selbst :wink:

teste mal folgendes:


Delphi-Quelltext
1:
2:
bild.LoadfromFile(*datei*); 
bildkopie.Assign(bild);


Neron17 - Di 24.02.04 08:32

Hej maximus!

Danke für die schnelle Hilfe. :)

Hab's jedoch eben gerade ausprobiert und es funktioniert leider auch nicht. Er gibt mir immer noch nen Fehler nach dem Motto - "Zugriffsverletzung beim Lesen von Addresse xyz im Modul 'abc.exe' Lesen von Addresse 00000000." :evil:


Keldorn - Di 24.02.04 15:21

Hallo

auch die Bildkopie mußt du vorher erstellen und am ende wieder freigeben.

Delphi-Quelltext
1:
bildkopie := Tbitmap.create;                    


ansonsten poste mehr code und wo genau der Fehler auftritt.

Mfg Frank


Neron17 - Mi 25.02.04 13:30
Titel: Problem gelöst
Hej Keldorn

Extreme Cleverness meinerseits. Hab natürlich vergessen, die 'bildkopie' zu 'createn'. Wär ich wohl auch nie drauf gekommen. Besten Dank für die Hilfe.

Rico