Charger une image depuis un stream... pkoi ca foire avec un TPicture ? - Delphi/Pascal - Programmation
Marsh Posté le 10-07-2003 à 14:26:41
- c'est quoi l'exception que t'as
- t'as initialisé ton stream comment ?
- t'as initialisé ton TPicture comment ?
Marsh Posté le 10-07-2003 à 14:28:07
Je fais comme le lien :
Code :
|
Je remplace ma variable TPicture par un Timage.Picture , ca marche impec, c'est la que je calcule pas.
J'ai un "Access violation blabla"...
Marsh Posté le 10-07-2003 à 14:29:01
ton TPicture il est créé comment ?
| tetedeiench a écrit : "Access violation blabla"... |
blabla = quoi ? parce que parfois les adresses donnent une info utile ![]()
Marsh Posté le 10-07-2003 à 14:30:38
euh OK
'Access Violation at address 00421533 in module "Project1.exe". Read of Address 0000000C'
Marsh Posté le 10-07-2003 à 14:30:59
| antp a écrit : ton TPicture il est créé comment ? |
Ben vla mon code en entier, comme ca
Code :
|
Marsh Posté le 10-07-2003 à 14:32:10
Je sais mes variables sont moches mais ce projet est la que pour tester avant d'aller dans le définitf ![]()
Marsh Posté le 10-07-2003 à 14:32:39
| tetedeiench a écrit : Read of Address 0000000C' |
pointeur valant nil...
je vois pas où tu initialises LaunchTestOnPic
T'as un pointeur et pas un seul create l'assignant
Marsh Posté le 10-07-2003 à 14:34:55
| antp a écrit : |
euh ouai faudrait ptet que je fasse un create quelque aprt effectivement ![]()
Marsh Posté le 10-07-2003 à 14:40:44
Meme avec le create ca merde.
Moi ce que je veux, c'est charger mes bitmaps de mon stream dans des variables pour pouvoir les swapper facilement dans mes boutons etc ![]()
Marsh Posté le 10-07-2003 à 14:44:55
utilise des TBitmap alors, c'est plus simple que de passer par des TPicture.
Et ensuite tu fais compo.***.Bitmap.Assign(unTBitmap); pour qu'il en copie l'image.
Marsh Posté le 10-07-2003 à 14:46:04
heu au fait ta ressource RC_DATA là, c'est un bitmap ou un jpeg ?
pour charger un bitmap des ressources tu peux faire simplement
leTBitmap.LoadFromResourceName(HInstance, 'nom')
pour un JPEG, fais plutôt
leTJPEGImage.LoadFromStream(...)
où leTJPEGImage est un TJPEGImage
Marsh Posté le 10-07-2003 à 14:47:57
Bitmap.
meme avec un Tbitmap ca foire
Enfin je m'en suis sorti avec des TSTream mais bon
J'ai fait ca en fait :
Code :
|
Comme cha cha swappe les bitmaps en déléteant les streams. Et ca a l'air de marcher, donc je croise les doigts ![]()
Marsh Posté le 10-07-2003 à 14:25:28
je m'explique.
je suis les instructions de la bas :
http://www.delphicollection.com/pu [...] source.htm
Effectivement ca marche bien quand j'utilise un TImage.
maintenant, j'aimerai charger l'image dans une variable TPicture.
je la déclare donc
var
Form1: TForm1;
LaunchTestOnPic : TPicture;
Et ensuite je lui fait charger le stream :
LaunchTestOnPic.Bitmap.LoadFromStream(RS);
Comme ils ont dit dans le lien.
Et pourtant, j'ai une magnifique exception... pourquoi ?