Difference of /portable and not portable.

 

Hi,

I searched here and googled is there a general comparison of what in /portable mode would work when coded and what not in b600+ except that the old ex4 should run.

Thanks,

Gooly

 
gooly:

Hi,

I searched here and googled is there a general comparison of what in /portable mode would work when coded and what not in b600+ except that the old ex4 should run.

Thanks,

Gooly

There is no difference on what work or not. "/portable" can only change the location of the Data Folder.
 

Hi

"The terminal can also be launched in the so-called Portable mode (as in previous MetaTrader 4 builds). In that mode, the data is stored and recorded in the installation folder. To do this, use "/portable" key. For more convenience, you can create an additional terminal launch shortcut with the appropriate name on your desktop and add the key directly to the shortcut: ...... "

Please see https://www.mql5.com/en/forum/149271 (MQ information for the release of previous MT4 build 600).

 

Ahh - ok, thanks,

Gooly

 

But now I doubt that. Could it be that at least /portable makes mt4 to read, write and use ANSI, while not /portable is wide?

Are there other surpirises?

Gooly

 
gooly:

But now I doubt that. Could it be that at least /portable makes mt4 to read, write and use ANSI, while not /portable is wide?

Are there other surpirises?

Gooly

There is no difference on what work or not. "/portable" can only change the location of the Data Folder.

Isn't clear enough ?

 

hmm - but why this isn't this working any more in my scrip:

#import "kernel32.dll"
        int  GetEnvironmentVariableW (string lpName, string& lpBuffer, int nSize);
        int  GetEnvironmentVariableA (string lpName, string& lpBuffer, int nSize);
#import

string TestConcatenation()
{
   string strData = "";
   for (int i = 0; i < 10; i++)
      strData = StringConcatenate(strData, "A");
   return strData;
}


int start()  {
//----
   TestConcatenation();
        string g = "12345678 1 2345678 2 2345678 3 2345678 4 2345678 5 2345678 ?6 2345678 ?7 2345678 ?8 2345678 ?9 23456789";
        GetEnvironmentVariableA("USERPROFILE", g, StringLen(g));
        Print(g);
        ...
}

It prints this in the expert-tab :

2014.02.15 15:00:54.645 test USDCHF,H1: 12345678 1 2345678 2 2345678 3 2345678 4 2345678 5 2345678 ?6 2345678 ?7 2345678 ?8 2345678 ?9 23456789

It should show "C:\users\{user}\Documents"!

For

        int  GetEnvironmentVariableA (string lpName, string& lpBuffer, int nSize);

I tried several version to define the function - always with the same result:

like:        int  GetEnvironmentVariableA (string lpName, string lpBuffer, int nSize);
or:        int  GetEnvironmentVariableA (string lpName, string lpBuffer, string nSize);

??

 
gooly:

hmm - but why this isn't this working any more in my scrip:

It prints this in the expert-tab :

It should show "C:\users\{user}\Documents"!

For

I tried several version to define the function - always with the same result:

??



Do you know the difference between these 2 functions ?

#import "kernel32.dll"
        int  GetEnvironmentVariableW (string lpName, string& lpBuffer, int nSize);
        int  GetEnvironmentVariableA (string lpName, string& lpBuffer, int nSize);
#import
Reason: