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 ?