Developers! Do you even test what you create? - page 15

 

Dear developers! Do you actually test what you release?

I have installed Windows 8.1 64 bit - licensed - on my computer. And then I had some problems. First, I installed Metatrader 4 on autorun into C:\Program Files (x86). When trying to write files problems started. As it turned out this Windows has elevated, excuse my language, shitty security, and I'm the only user and administrator of the computer can not do anything in the system directory until I click "As administrator". After reading the forum, I decided to reinstall Metatrader 4 not to Program Files (x86), but to another specially created folder on my C drive, pre-installed MT4. But it didn't work. The deinstaller said, that you have no rights to do it. I really couldn't resist it and tried my best to uninstall. I did everything I could. As administrator, and allowing everyone in Security to do anything. I even reinstalled Windows again. All in all it took me almost 2 days. Then I accidentally found a little message on MT English forum, that one must check the compatibility mode for Win XP SP3, and put a tick - perform the operation as the administrator. Then only as administrator the terminal was deinstalled. I breathed a little sigh of relief.

Then I decided to install Metatrader 5. Knowing that it was dangerous to install it to system directory, I installed it in specially created folder on C drive. My installer didn't ask me if I wanted to install 64-bit version and forcibly installed MT5 of 64-bit version. I tried to work with it. After some steps, like creating indicators, writing files and trying to connect DLL, I found that the Files and Libraries are missing in the installation directory. But neither DLL files, nor even downloaded examples from Code Base were created or called for compilation. I spent a lot of time and nerves to find the cause. Then I just commented out TerminalPath - where does it all disappear to? Turns out to the C:\Users\...\AppData folder. I tried to find it - no luck. It wasn't listed at all. Then somehow I realised it was hidden. And I found on the internet how to allow hidden folders to be shown. Yes, all needed folders and files appeared in C:\Users\...\AppData\Roaming\MetaQuotes\Terminal. Although I purposely avoided system directories to avoid unnecessary problems. No, the installer did create them. That is, you understand, that simple user couldn't do what I did before I got to these folders.

Next I tried to connect the DLL. Silent as in a tank - it does not see it, no matter where I would shove it. It was created in VS2013 Desktop in C++, latest version and successfully worked in MT4. After looking at an example from article "How to write a DLL in 10 minutes", I've spent half a night like a fool trying to connect it. Then I changed paths and the terminal finally saw it and warned that it was not a 64-bit DLL and refused to connect it. Of course, I understood that in all the examples DLL are created as a Win32 application and they won't create 64 bits. Well, what to do next? I decided to experiment with MT5 - 32 bits. My installer did not let me do it and forced me to install 64 bits. Later, I stumbled upon a forum that MT5 32 bits can be installed from command line {mt5setup.exe /32) and installed 32 bit version. I connected DLLs and everything worked fine. I had to uninstall the 64-bit version as it was a dead and problematic application.

I purposely described everything so thoroughly for developers to try to get into a user's skin.

Question. The question is why, despite the fact that I do not install in the system directory, the installer still puts everything in hidden folders, which I simply can not get to, at least to put there downloaded from the Code Base indicators or scripts. And I couldn't get to Files folder where I could write some results of my work? To be honest, I had an emotional impulse to send MT5 far away, with all these problems, excuse the expression - vampirism of time and nervous energy and defects. But I resisted through sheer force.

And the second question. Are 32-bit DLL's supposed to be available in the 64-bit version, because the 64-bit terminal is kind of dead without it?

And one more question. Are there plans to provide an opportunity of C# DLL connection for they create 64-bit DLLs without any problems?

And one more thing. Microsoft is going for an almost forcible attempt to replace C++ with C# as the main programming language. In the latest VS2013 they even removed the ability to set work with forms and answering the question "why?" on the forum with the question "why don't you try using more perfect C#?". Then it turns out that in the long run, C++ may go to 2nd place or be gone altogether. Is the new terminal supposed to be made with C# as the basis of the language?

 
ANG3110:

Then I decided to install Metatrader 5. Knowing that it was dangerous to install it in the system directory, I installed it in a specially created folder on my C drive. I tried to work with it. After some steps, like creating indicators, writing files and trying to connect DLL, I found that the Files and Libraries are missing in the installation directory. But neither DLL files, nor even downloaded examples from Code Base were created or called for compilation. I spent a lot of time and nerves to find the cause. Then I just commented out TerminalPath - where does it all disappear to? Turns out to the C:\Users\...\AppData folder. I tried to find it - no luck. It wasn't listed at all. Then somehow I realised it was hidden. And I found on the internet how to allow hidden folders to be shown. Yes, all necessary folders and files appeared in C:\Users\...\AppData\Roaming\MetaQuotes\Terminal. Although I purposely avoided system directories to avoid unnecessary problems. No, the installer did create them. So you understand that a simple user can't do what I did before I got to these folders at all.


after installing the 64 bit terminal, don't open it immediately, first create a shortcut, and in the properties where the object is put the /portable key

like this: D:\MT5\terminal64.exe /portable

Then all the folders will not appear somewhere but in the folder of your terminal

 
Olegts:

like this: D:\MT5\terminal64.exe /portable

Then all the folders will not appear anywhere, but in the folder of your terminal.

and also for the editor

and also everywhere in the registry to open mql files by double click.

 
sergeev:

as well as for the editor

and also everywhere in the registry to open mql files by double click.

are you a moderator or what?

the person had a problem, i told him how to partially solve it, why are you being sarcastic?

 
Olegts:

are you a moderator or something?

the person had a problem, I suggested how to partially solve it, why the sarcasm?

were you scared of moderators when you were a kid? why are you getting angry and pushy?

I only expanded on your incomplete answer.

you wrote yourself that you advised him how to "partially" solve it. why would he need half of it?

 
sergeev:

were you intimidated by moderators as a child? why are you getting so hot and bothered?

I was just expanding on your incomplete answer.

you write that you advised him as "partially". why would he need half measures?

Personally, I don't work without portables. I have a separate folder with about 20 terminals and I know exactly where MQL5 and other folders are, not somewhere unknown. The idea is that he has got into trouble with some miracle called 8.1 that was made by Softwares and he thinks that meta-quotes are to blame. He should be helped, not shown superiority.

 
Why isn't the path to the terminal listed on the shortcut? It's Bill Gates, they don't throw eggs at him for nothing.)
 
Olegts:

Personally, I don't work without a portable, I have a separate folder,

I've got a couple of gigs on my hard drive and FAT32 on it. I don't even need portable.

 
ANG3110:

Dear developers! Do you actually test what you release?

We test it. And we've been doing it publicly for thirteen years.


I have installed Windows 8.1 64 bit - licensed - on my computer. And then I had some problems. First, I installed Metatrader 4 on autorun into C:\Program Files (x86). When trying to write files problems started. As it turned out this Windows has elevated, excuse my language, shitty security, and I'm the only user and administrator of the computer can not do anything in the system directory until I click "As administrator". After reading the forum, I decided to reinstall Metatrader 4 not to Program Files (x86), but to another specially created folder on my C drive, pre-installed MT4. But it didn't work. The deinstaller said, that you have no rights to do it. I really couldn't resist it and tried my best to uninstall. I did everything I could. As administrator, and allowing everyone in Security to do anything. I even reinstalled Windows again. All in all it took me almost 2 days. Then I accidentally found a little message on MT English forum, that one must check the compatibility mode for Win XP SP3, and put a tick - perform the operation as the administrator. Then only as administrator the terminal was deinstalled. I breathed a little sigh of relief.

You've encountered the usual problem with older programs not well adapted to Windows 8. That is, the problem is with the security of the operating system. Yes, Microsoft in Windows 8 has really put everyone up against the wall and no longer allows you to write and store data wherever you want.

To solve such problems we are releasing the new MetaTrader 4, which uses a modern data storage model like MetaTrader 5 does.


Then I decided to install Metatrader 5. Knowing already that installing in

The installer didn't ask me if I wanted to install 64 bit version and installed MT5 64 bit by force. I tried to work with it. After some steps, like creating indicators, writing files and trying to connect DLL, I found that the Files and Libraries are missing in the installation directory. But neither DLL files, nor even downloaded examples from Code Base were created or called for compilation. I spent a lot of time and nerves to find the cause. Then I just commented out TerminalPath - where does it all disappear to? Turns out to the C:\Users\...\AppData folder. I tried to find it - no luck. It wasn't listed at all. Then somehow I realised it was hidden. And I found on the internet how to allow hidden folders to be shown. Yes, all needed folders and files appeared in C:\Users\...\AppData\Roaming\MetaQuotes\Terminal. Although I purposely avoided system directories to avoid unnecessary problems. No, the installer did create them. That is, you understand that a simple user can not do what I did before I got to these folders.

You reason like that, criticise and give advice to developers, but you don't know the basic rules of Windows security. That's it, no more rights to write to Program Files are granted by the operating system. The recommended storage location is in AppData only.

If you are working in normal mode, everything is fine - all data is in place and working directories are available in File -> Open Data Directory.


Next I tried to connect the DLL. Silent as in a tank - it doesn't see it, no matter where I shove it. It was created in VS2013 Desktop in C++, latest version and worked fine in MT4. After looking at an example from article "How to write a DLL in 10 minutes", I've spent half a night like a fool trying to connect it. Then I changed paths and the terminal finally saw it and warned that it was not a 64-bit DLL and refused to connect it. Of course, I understood that in all the examples DLL are created as a Win32 application and they won't create 64 bits. Well, what to do next? I decided to experiment with MT5 - 32 bits. My installer did not let me do it and forced me to install 64 bits. Later, I stumbled upon a forum that MT5 32 bits can be installed from command line {mt5setup.exe /32) and installed 32 bit version. I connected DLLs and got it working. The 64 bit version had to be uninstalled as a dead problematic application.

If it's your DLL, just recompile it in 64 bit mode.

You don't have to beat your head against the wall and pretend that 32-bit libraries can or should work in 64-bit programs. It has already been explained to you on a neighbouring forum but you still pretend not to understand it.

I purposely described everything in such a detailed way so that developers could try to get into a user's skin.

Unfortunately, you have described your misconceptions in detail. Ostensibly the words of a programmer (DLL, directories, programs), but you really don't know the basics.

Question. Why, despite the fact that I'm not installing into the system directory, the installer still puts everything into hidden folders, which I just can't get into, to at least put there downloaded from the Code Base indicators or scripts. And I couldn't get to Files folder where I could write some results of my work? To be honest, I had an emotional impulse to send MT5 far away, with all these problems, excuse the expression - vampirism of time and nervous energy and defects. But I resisted through sheer force.

Because those are Microsoft's rules (yes, that's right). With the release of Windows 8, it's pretty much either do as Microsoft says or set clients up for write bans.

There's the /portable switch for those who want to keep working files in their directory against it.


And a second question. Are 32-bit DLLs going to be available in 64-bit version, because the 64-bit terminal is kind of dead without it?

No, it is technically impossible in principle (without fanaticism). It is 64-bit libraries that are needed.


And one more question. Are you planning to provide an opportunity of C# DLL connection for they create 64-bit DLLs without any problems?

Usual programs easily make 64-bit versions too. Where did you come up with the problem?


And one more thing. Microsoft is going for an almost forcible attempt to replace C++ with C# as the main programming language. In the latest VS2013 they even removed the ability to set work with forms and answering the question "why?" on the forum with the question "why don't you try using more perfect C#?". Then it turns out that in the long run, C++ may go to 2nd place or be gone altogether. Is there any intention of making a new terminal with C# as the basis of the language?

When we want to ruin our business, then yes - we will switch to C#. It will be just a great method.

So that you don't have problems, use MQL4/MQL5 - they work like C# and will automatically dock to 32 and 64 bit native code at runtime.

Выпущена бета-версия MetaTrader 4 Build 555 с обновленным языком MQL4 и Маркетом приложений - MQL4 форум
  • www.mql5.com
Выпущена бета-версия MetaTrader 4 Build 555 с обновленным языком MQL4 и Маркетом приложений - MQL4 форум
 

I, of course, completely understand.

A person who switched from Windows XP to Windows 7/Windows 8 a couple of months ago is bound to break patterns. But, as they say, everyone is their own evil Pinocchio - that's the price to pay for a decade of self-deception and turning a blind eye to changes in operating systems.

Reason: