Any questions from a PROFI to a SUPER PROFI - 1. - page 33

 

Thank you! This has all been read many times, of course. Perhaps there's no provision for increasing the size of the display that's already open. You have to do everything yourself.

1. Move the data piece by piece to a new temporary mapping.

2. Close the old one.

3. open a new one with a larger size.

4. Move everything from the temporary mapping piece by piece there.

Creepy. Long everything.

 

the link there says that the data is still coherent when you open a display of the same thing but in different sizes, i.e. everything is actually stored in one place. and is simply projected.

My point is that copying may not be necessary

 

Is it the same thing with the same name? If so, the same mapping opens, but with a new descriptor. That's exactly what I did. The size does not increase.

You have to close all descriptors and only then you can reopen it with the new size.

Data can be transferred from one mapping to another only through the memory of the current process.

 

Figured out how to do it!

You should always open a file mapping of a temporary file. With a minimum size of 1 byte. When you open the file mapping, everything will save itself in the file. Then reopen the file mapping of this file with a new size.

 
I'll have to give it a try.
 
FAQ:

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


dwMaximumSizeHigh is a high 64-bit value of shared memory size (more than 4 Gbt) - we don't need that much :) - Let's assign value 0 to this argument.

dwMaximumSizeLow - Thanks to the nice inhabitants of the Kingdom who pointed out the error in the description of this argument! Especially Mr. Uno who explained it very well! (see comment to the article) - the lower 64-bit value of shared memory size - if dwMaximumSizeHigh equals 0, the size of this argument must be at least SIZE OF DATA to be placed in the swap file. Notethat Intel "page" size is 4 KBt, i.e. if you specify 1 byte, you get a "pocket for sharing" :) 4 KBt, if you specify 4001, you can put up to 8Kbt of data into the file mapping object, etc.

Special thanks for this reminder. It helped to solve another problem.

Reworked the memory protection in the mapping library. Forgot about it. Constantly popped up my warnings about not enough memory. I have it automatically allocated, though.

Had a dream last night :-)

 
have a rather long exp (~3000) and all code in one block (no inludes and either) at some point the tab with external variables is missing. Any variants ?
 
Did the#property library get lost somewhere in the code?
 
already found it :)
 
mishanya7777777:
why is there no immediate execution in the demo account?
Stop spamming already. You've even created a thread and you're still spamming.