Разработчики! Вы вообще тестируете то, что создаёте? - страница 15

 

Уважаемые разработчики! А Вы действительно тестируете то, что выпускаете?

Установил я на свой компьютер Windows 8.1 64 бита - лицензионную. И тут начались проблеммы. Установил для начала Метатрейдер 4 на автомате в C:\Program Files (x86). При попытке записей файлов начались проблеммы. Как оказалось у этого Виндовса повышенная извините за выражение говносекьюрите, и я являясь единственным пользователем и администратором комьютера не могу ничего делать в системной директории пока не нажму "От имени администратора". Почитав форум, я решил переустановить Метатрейдер 4 не в Program Files (x86), а в другую созданную специально для этого папку на диске С, предварительно деинсталировав МТ4. Не тут-то было. Деисталятор выдавал, что вы не имеете прав это сделать. Я опупел от этого и из кожи вон лез чтобы все-таки произвести деинсталяцию. Что только не делал. И от имени администратора и поставив разрешение всем в разделе Безопасность производить любые операции. Даже переустановил Виндовс еще раз.  Вообщем затратил на это почти 2 дня. И при этом консультируясь еще с опытными знакомыми что с этим делать. Потом случайно нашел на англоязычном форуме МТ маленькое сообщение, что нужно выставить режим совместимости с Win XP SP3, и поставить галку - совершать операции от имени администратора. Тогда только под именем администратора терминал деисталировался. Я немного вздохнул облегченно.

Затем я решил установить Метатрейдер 5. Зная уже что ставить в системную директорию опасно, я установил в специально созданную папку на диске С. Установщик почему-то не спросил желаю ли я поставить 64-х битную версию, и как бы насильно установил МТ5 64-бита. Попробовал работать с ним. После некоторых действий, типа создание индикаторов, записи файлов и попытки подключить DLL, я обнаружил что папки Files и Libraries отсутствуют в установочной директории. Ну я их создал в ручную. Но ни файлы ни DLL, ни даже скачанные примеры с Code Base, не создавались или не вызывались для компиляции. Потратил длительное время и нервы чтобы найти причину. Потом просто закоментировал TerminalPath - кудаже все это исчезает? Оказалось в папку C:\Users\...\AppData. Я попытался ее найти - не тут-то было. Она вообще не значилась в наличии. Тут я как-то догадался, что она скрытая. И нашел в инете как разрешить показ скрытых папок. Да, все нужные папки и файлы оказались в C:\Users\...\AppData\Roaming\MetaQuotes\Terminal. Хотя я же специально избегал системных директорий, чтобы не было бы ненужных проблемм. Нет все-таки установщик из создал. То есть понимаете, что простой пользователь вообще не сможет сделать то что я сделал прежде чем добрался до этих папок.

Далее попытался подключить DLL. Глухо как в танке - он ее не видит, куда бы я ее не пихал бы. Хотя она была создана на VS2013 Descktop на С++, последней версии и прекрасно работала в МТ4. Посмотрев пример из статьи "Как за 10 минут написать DLL" я как дурак потратил еще пол ночи на попытку подключения. И что я только не делал. Потом поменяв пути, - терминал ее все-таки увидел и отписался что это не 64-х битная DLL и не стал ее подключать. Я конечно понимал что во всех примерах DLL создаются как приложение Win32 и 64 бита они создавать не будут. Ну и что дальше делать? Решил проэкспериментировать на MT5 - 32 бита. Но установщик не давал мне это сделать и насильно ставил 64 бита. Потом я случайно наткнулся на форуме, что можно установить МТ5 32 бита из командной строки ...\mt5setup.exe /32 и наконец-то установил 32-битную версию. Подключил DLL-ки - все прекрасно заработало. 64-х битную версию пришлось деинсталировать, как мертвое проблемное приложение.

Я специально все описал так подробно, чтобы разработчики попытались бы влезть в шкуру пользователя.

Вопрос. Почему несмотря на то, что я устанавливаю не в системную директорию, инсталятор все-равно ставит все в скрытые паки в которые я просто так добраться не могу, чтобы хотя бы поместить туда скачанные с Code Base индикаторы или скрипты. И не мог бы добраться до папки Files, куда записывал бы некоторые результаты работы? Если честно, то был эмоциональный порыв послать МТ5 подальше, со всеми этими проблеммами, извините за выражение - вампиризмом времени и нервной энергии и недоделками. Но как-то через силу удержался.

И второй вопрос. Предполагается ли в 64-х битной версии сделать возможность подключения 32-х битных DLL, ведь без этого 64-битный терминал как бы мертвый?

Ну и еще один вопрос. Предполагается ли сделать возможность подключения DLL от C#, ведь они 64-х битные создаются без проблемм.

И еще. Майкрософт идет на почти насильственную попытку заменить С++ на C# как основной язык программирования. В последнем VS2013 даже убрали возможность установки работы с формами и на форуме на вопрос "почему?", отвечают вопросом, "а почему бы вам не попробовать на более совершенном С#?". Тогда получается в перспективе С++ может уйти на 2-й план или вообще уйти. Предполагается ли сделать новый терминал с основой языка на C#?

 
ANG3110:

Затем я решил установить Метатрейдер 5. Зная уже что ставить в системную директорию опасно, я установил в специально созданную папку на диске С. Установщик почему-то не спросил желаю ли я поставить 64-х битную версию, и как бы насильно установил МТ5 64-бита. Попробовал работать с ним. После некоторых действий, типа создание индикаторов, записи файлов и попытки подключить DLL, я обнаружил что папки Files и Libraries отсутствуют в установочной директории. Ну я их создал в ручную. Но ни файлы ни DLL, ни даже скачанные примеры с Code Base, не создавались или не вызывались для компиляции. Потратил длительное время и нервы чтобы найти причину. Потом просто закоментировал TerminalPath - кудаже все это исчезает? Оказалось в папку C:\Users\...\AppData. Я попытался ее найти - не тут-то было. Она вообще не значилась в наличии. Тут я как-то догадался, что она скрытая. И нашел в инете как разрешить показ скрытых папок. Да, все нужные папки и файлы оказались в C:\Users\...\AppData\Roaming\MetaQuotes\Terminal. Хотя я же специально избегал системных директорий, чтобы не было бы ненужных проблемм. Нет все-таки установщик из создал. То есть понимаете, что простой пользователь вообще не сможет сделать то что я сделал прежде чем добрался до этих папок.


после установки 64 разрядного терминала, не надо его открывать сразу, вначале надо создать ярлык, и в свойствах там где объект приписать ключ /portable

примерно так: D:\MT5\terminal64.exe /portable

тогда все папки у вас будут появляться не фиг знает где, а конкретно в папке вашего терминала

 
Olegts:

примерно так: D:\MT5\terminal64.exe /portable

тогда все папки у вас будут появляться не фиг знает где, а конкретно в папке вашего терминала

а также для редактора

и также везде в реестре для открытия mql файлов по двойному клику.

 
sergeev:

а также для редактора

и также везде в реестре для открытия mql файлов по двойному клику.

вы модератор или что?

у человека возникла проблема, я подсказал, как ее частично решить, к чему ваш сарказм?

 
Olegts:

вы модератор или что?

у человека возникла проблема, я подсказал, как ее частично решить, к чему ваш сарказм?

модератораторами в детстве пугали? чего кипятишся и наезжаешь?

я лишь расширил твой неполный ответ.

сам же пишешь, что посоветовал как "частично".  а зачем ему полумерки ?

 
sergeev:

модератораторами в детстве пугали? чего кипятишся и наезжаешь?

я лишь расширил твой неполный ответ.

сам же пишешь, что посоветовал как "частично".  а зачем ему полумерки ?

лично я без портабл не работаю. У меня есть отдельная папка, где стоит порядка 20 терминалов, и я точно знаю, где лежат MQL5 и прочие папки, внутри, а не непонятно где. Чел напоролся на грабли, которые ему подставили мелкомягкие своим чудом под названием 8.1, а решил, что виноваты метаквоты. Ему помочь надо, а не показывать свое превосходство.

 
А что там в ярлыке путь к терминалу не указан? Это ж Билл Гейтс маст дай, не зря в него яйцами кидаются).
 
Olegts:

лично я без портабл не работаю.  У меня есть отдельная папка,

у меня пару гиг на винте и FAT32 на них.  портабл даже не надо.

 
ANG3110:

Уважаемые разработчики! А Вы действительно тестируете то, что выпускаете?

Тестируем. Причем уже тринадцать лет и делаем это публично.


Установил я на свой компьютер Windows 8.1 64 бита - лицензионную. И тут начались проблеммы. Установил для начала Метатрейдер 4 на автомате в C:\Program Files (x86). При попытке записей файлов начались проблеммы. Как оказалось у этого Виндовса повышенная извините за выражение говносекьюрите, и я являясь единственным пользователем и администратором комьютера не могу ничего делать в системной директории пока не нажму "От имени администратора". Почитав форум, я решил переустановить Метатрейдер 4 не в Program Files (x86), а в другую созданную специально для этого папку на диске С, предварительно деинсталировав МТ4. Не тут-то было. Деисталятор выдавал, что вы не имеете прав это сделать. Я опупел от этого и из кожи вон лез чтобы все-таки произвести деинсталяцию. Что только не делал. И от имени администратора и поставив разрешение всем в разделе Безопасность производить любые операции. Даже переустановил Виндовс еще раз.  Вообщем затратил на это почти 2 дня. И при этом консультируясь еще с опытными знакомыми что с этим делать. Потом случайно нашел на англоязычном форуме МТ маленькое сообщение, что нужно выставить режим совместимости с Win XP SP3, и поставить галку - совершать операции от имени администратора. Тогда только под именем администратора терминал деисталировался. Я немного вздохнул облегченно.

Вы столкнулись с обычной проблемой старых программ, не сильно проспособленных к Windows 8. То есть, проблема в системе безопасности операционки. Да, Майкрософт в Windows 8 реально всех поставил к стенке и больше не позволяет писать и хранить данные где хочешь.

Для решения таких проблем мы и выпускаем новый MetaTrader 4, который использует современную модель хранения данных, как это сделано в MetaTrader 5.


Затем я решил установить Метатрейдер 5. Зная уже что ставить в

системную директорию опасно, я установил в специально созданную папку на диске С. Установщик почему-то не спросил желаю ли я поставить 64-х битную версию, и как бы насильно установил МТ5 64-бита. Попробовал работать с ним. После некоторых действий, типа создание индикаторов, записи файлов и попытки подключить DLL, я обнаружил что папки Files и Libraries отсутствуют в установочной директории. Ну я их создал в ручную. Но ни файлы ни DLL, ни даже скачанные примеры с Code Base, не создавались или не вызывались для компиляции. Потратил длительное время и нервы чтобы найти причину. Потом просто закоментировал TerminalPath - кудаже все это исчезает? Оказалось в папку C:\Users\...\AppData. Я попытался ее найти - не тут-то было. Она вообще не значилась в наличии. Тут я как-то догадался, что она скрытая. И нашел в инете как разрешить показ скрытых папок. Да, все нужные папки и файлы оказались в C:\Users\...\AppData\Roaming\MetaQuotes\Terminal. Хотя я же специально избегал системных директорий, чтобы не было бы ненужных проблемм. Нет все-таки установщик из создал. То есть понимаете, что простой пользователь вообще не сможет сделать то что я сделал прежде чем добрался до этих папок.

Вы так рассуждаете, критикуете и даете советы разработчикам, но при этом не знаете базовых правил системы безопасности Windows. Все, больше никаких прав писать в Program Files операционка не дает. Рекомендованное место хранения только в AppData.

Если вы работаете в штатном режиме, то все в порядке - все данные на местах, а рабочие каталоги доступны в Файл -> Открыть каталог данных.


Далее попытался подключить DLL. Глухо как в танке - он ее не видит, куда бы я ее не пихал бы. Хотя она была создана на VS2013 Descktop на С++, последней версии и прекрасно работала в МТ4. Посмотрев пример из статьи "Как за 10 минут написать DLL" я как дурак потратил еще пол ночи на попытку подключения. И что я только не делал. Потом поменяв пути, - терминал ее все-таки увидел и отписался что это не 64-х битная DLL и не стал ее подключать. Я конечно понимал что во всех примерах DLL создаются как приложение Win32 и 64 бита они создавать не будут. Ну и что дальше делать? Решил проэкспериментировать на MT5 - 32 бита. Но установщик не давал мне это сделать и насильно ставил 64 бита. Потом я случайно наткнулся на форуме, что можно установить МТ5 32 бита из командной строки ...\mt5setup.exe /32 и наконец-то установил 32-битную версию. Подключил DLL-ки - все прекрасно заработало. 64-х битную версию пришлось деинсталировать, как мертвое проблемное приложение.

Если это ваша DLL, то просто перекомпилируйте ее в 64 битном режиме.

Не нужно биться головой об стену и делать вид что 32 битные библиотеки могут или должны работать в 64 битных программах. Вам уже объяснили это на соседнем форуме, но вы продолжаете делать вид, что не понимаете.

Я специально все описал так подробно, чтобы разработчики попытались бы влезть в шкуру пользователя.

К сожалению, вы подробно описали свои заблуждения. Якобы слова программиста (DLL, каталоги, программы), но на самом деле не знаете базовых вещей.

Вопрос. Почему несмотря на то, что я устанавливаю не в системную директорию, инсталятор все-равно ставит все в скрытые паки в которые я просто так добраться не могу, чтобы хотя бы поместить туда скачанные с Code Base индикаторы или скрипты. И не мог бы добраться до папки Files, куда записывал бы некоторые результаты работы? Если честно, то был эмоциональный порыв послать МТ5 подальше, со всеми этими проблеммами, извините за выражение - вампиризмом времени и нервной энергии и недоделками. Но как-то через силу удержался.

Потому что таковы правила Майкрософт (да, именно его). С выходом Windows 8 практически или делаешь как сказал Майкрософт или подставляешь клиентов на запреты записи.

Для тех, кто хочет наперекор хранить рабочие файлы у себя в каталоге, есть ключ /portable.


И второй вопрос. Предполагается ли в 64-х битной версии сделать возможность подключения 32-х битных DLL, ведь без этого 64-битный терминал как бы мертвый?

Нет, это в принципе технически (без фанатизма) невозможно. Нужны именно 64 битные библиотеки.


Ну и еще один вопрос. Предполагается ли сделать возможность подключения DLL от C#, ведь они 64-х битные создаются без проблемм.

Так и обычные программы легко делают 64 битные версии. Откуда проблему то придумали?


И еще. Майкрософт идет на почти насильственную попытку заменить С++ на C# как основной язык программирования. В последнем VS2013 даже убрали возможность установки работы с формами и на форуме на вопрос "почему?", отвечают вопросом, "а почему бы вам не попробовать на более совершенном С#?". Тогда получается в перспективе С++ может уйти на 2-й план или вообще уйти. Предполагается ли сделать новый терминал с основой языка на C#?

Когда захотим угробить свой бизнес, тогда да - перейдем на C#. Это будет просто прекрасный метод.

Чтобы у вас не было проблем, используйте MQL4/MQL5 - они работают как C# и автоматически докомпилируются в 32 и 64 битный нативный код при исполнении.

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

Я, конечно, все понимаю.

Человеку, пару месяцев назад перешедшему с Windows XP на Windows 7/Windows 8, обязательно должно поломать шаблоны. Но, как говорится, каждый сам себе злобный Буратино - это плата за десяток лет самообмана и закрывания глаз на изменения в операционках.

Причина обращения: