Création d'un bitmap de grande taille

Création d'un bitmap de grande taille - Delphi/Pascal - Programmation

Marsh Posté le 10-10-2007 à 16:21:36    

Je voudrai créer un Bitmap d'une taille supérieure au Giga mais quand je le fait, j'obtiens un message 'Ressources système insuffisantes'. Or j'ai 2Go de mémoire et j'ai largement la place pour le créer. J'ai essayé d'en créer un de 900Mo environ puis un second de 200 ou 300 Mo mais à la création du second, j'obtiens le même message d'erreur. J'ai le même problème avec un PC qui a 3Go de mémoire.
Y-a-t-il une limitation de Delphi ? Comment puis-je faire?
Merci

Reply

Marsh Posté le 10-10-2007 à 16:21:36   

Reply

Marsh Posté le 11-10-2007 à 21:16:22    

Oui il y a une taille max que tu peux allouer par défaut. Tu peux cependant modifier cette taille en utilisant une directive du compilateur.
Je ne sais plus exactement la directive mais c'est une ligne que tu ajoutes en haut de ton formulaire principale (regarde dans l'aide les directives du compilateur).
 
Par contre faire tout cela n'est pas bien ;) Ca sera très lent ! Il faudrait optimiser en découpant par exemple l'image en 4.

Reply

Marsh Posté le 12-10-2007 à 16:43:37    

Merci pour ta réponse. J'ai essayer de modifier la taille des piles par Projet->Options->Lieur ainsi qu'en modifiant les directives $MINSTACKSIZE, $MAXSTACKSIZE et $IMAGEBASE mais rien n'y a fait.
C'est vrai que ça peut être lent et que je pourrai le découper ensuite mais un ou plusieurs images, c'est la taille totale qui pose problème

Reply

Marsh Posté le 12-10-2007 à 20:03:21    

Ce n'est pas dans les options du compilateur. C'est une commande du type "#..." à rajouter dans ton formulaire principal. Je n'ai plus delphi d'installer sur mon PC, je t'aurai donné la commande sinon.
 
Dans tout les cas, ton traitement va etre extremement lent parceque ca va utiliser le swap (meme si tu as 3 go de RAM).

Reply

Marsh Posté le 16-10-2007 à 14:28:37    

Je n'ai pas réussi à trouver cette commande commençant par #. Quelqu'un  connaitrait-il cette commande?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed