jQuery

Buy Us a Coffee


Facebook Messenger (Donation)

Many donors of this blog prefer to donate their money through Facebook Messenger!

Click here to go to this blog's Facebook Page!

Thank you!

Advertise On This Blog!

If you want a Product\Service\Event to be advertised on this blog, feel free to contact us!

Warning!!!

If you are a Newcomer and want to write Real Programs, please STAY AWAY from this POOR and BAD DESIGNED "Program Language" (it's an Automation Tool in fact)!!!

This Automation Tool is maintained by LAZY, STUPID and DUMBASSES PEOPLE who try to deceive you that AutoHotkey is a very Powerful Program Language, but believe me, it isn't!!!

No Enterprise takes AutoHotKey seriously, because they know how poor it is and because they know what kind of people are behind it!

If you need an Automation Tool, you can at least give it a try!!! If you need a Program Language, STAY AWAY FROM IT AS SOON AS POSSIBLE!!!

Thanks for your Attention!!!

Monday, November 11, 2019

Completely Remove a variable content from Ram!



Some functions may use "StrPut()" function to put plain text strings in Ram in order to be used with "DllCall()" function!

The problem is, you may not want the plain text strings to remain in Ram after the functions return!

If you use something like, Data := "", or, VarSetCapacity(Data, 0), or even, VarSetCapacity(Data, 0, 0), the "Data" variable is released but its content that contains plain text strings are still stored in Ram!

When a variable is released, it means that its content remains in Ram, but it can be overwritten by other contents!

So, before releasing a variable, make sure to overwrite all its content with "0" bytes, then release it! Doing so, all the plain text strings in Ram are overwritten with 0 bytes as well!

Example below:

VarSetCapacity(Data, , 0)        ;overwrite all the content from "Data" variable with 0 bytes!

Note that, the "RequestedCapacity" parameter is omitted in "VarSetCapacity()" function, so the current capacity of "Data" variable will be used! (Assuring that all its current capacity is overwritten with 0 bytes!)

Then you can use, Data := "", or, VarSetCapacity(Data, 0), to release "Data" variable in order to allow all its 0 bytes content to be overwritten with other contents! 




Keywords:
Completely Remove a variable data from Ram!
Completely Remove a variable value from Ram!
Completely Remove a variable content from Ram!