Toute question d'un PROFI à un SUPER PROFI - 1. - page 33

 

Merci ! Tout cela a été lu de nombreuses fois, bien sûr. Il n'est peut-être pas prévu d'augmenter la taille de l'écran déjà ouvert. Vous devez tout faire vous-même.

1. Déplacez les données morceau par morceau vers un nouveau mappage temporaire.

2. Fermez l'ancien.

3. Ouvrez une nouvelle fenêtre avec une taille plus grande.

4. Déplacez tout ce qui se trouve dans la cartographie temporaire, pièce par pièce, là.

Effrayant. C'est long.

 

le lien qui y figure indique que les données restent cohérentes lorsque vous ouvrez un affichage de la même chose mais dans des tailles différentes, c'est-à-dire que tout est en fait stocké en un seul endroit. et est simplement projeté.

Ce que je veux dire, c'est que la copie n'est peut-être pas nécessaire.

 

Est-ce la même chose avec le même nom ? Si c'est le cas, le même mapping s'ouvre, mais avec un nouveau descripteur. C'est exactement ce que j'ai fait. La taille n'augmente pas.

Vous devez fermer tous les descripteurs et seulement ensuite vous pouvez le rouvrir avec la nouvelle taille.

Les données ne peuvent être transférées d'une cartographie à une autre qu'à travers la mémoire du processus en cours.

 

J'ai trouvé comment le faire !

Vous devriez toujours ouvrir un mappage de fichier d'un fichier temporaire. Avec une taille minimale de 1 octet. Lorsque vous ouvrez le fichier de cartographie, tout s'enregistre dans le fichier. Rouvrez ensuite le mappage de ce fichier avec une nouvelle taille.

 
Je vais devoir l'essayer.
 
FAQ:

http://www.delphisources.ru/pages/faq/base/filemapping.html


dwMaximumSizeHigh est une valeur 64-bit élevée de la taille de la mémoire partagée (plus de 4 Gbt) - nous n'avons pas besoin d'autant :) - Attribuons la valeur 0 à cet argument.

dwMaximumSizeLow - Merci aux gentils habitants du Royaume qui ont signalé l'erreur dans la description de cet argument ! Surtout M. Uno qui l'a très bien expliqué ! (voir commentaire de l'article) - la valeur inférieure de 64 bits de la taille de la mémoire partagée - si dwMaximumSizeHigh est égal à 0, la taille de cet argument doit être au moins égale à SIZE OF DATA pour être placée dans le fichier d'échange. Notezque la taille de la "page" Intel est de 4 KBt, c'est-à-dire que si vous spécifiez 1 octet, vous obtenez une "pochette de partage" :) 4 KBt, si vous spécifiez 4001, vous pouvez mettre jusqu'à 8Kbt de données dans l'objet de mappage de fichier, etc.

Merci pour ce rappel. Cela a permis de résoudre un autre problème.

Remaniement de la protection de la mémoire dans la bibliothèque de cartographie. Je l'ai oublié. Mes avertissements sur le manque de mémoire apparaissaient constamment. Je l'ai pourtant alloué automatiquement.

J'ai fait un rêve la nuit dernière :-)

 
j'ai une exp assez longue (~3000) et tout le code est dans un seul bloc (pas d'inludes et ni l'un ni l'autre) à un moment donné l'onglet avec les variables externes est manquant. Des variantes ?
 
La bibliothèque #property s'est-elle perdue quelque part dans le code ?
 
déjà trouvé :)
 
mishanya7777777:
pourquoi n'y a-t-il pas d'exécution immédiate dans le compte de démonstration ?
Arrêtez de spammer. Vous avez même créé un fil de discussion et vous continuez à spammer.