День добрый!
Правило №1 dll на Маркете запрещен. Хорошо, это понятно )
Теперь ситуация
Есть полезный, как мне кажется, функционал, который отлично работает в обертке эксперта, но не совсем не торгует. Использует метод onTimer для работы. DLL используется для операции переименования файла (ну нет в MQL) возможности создать файл с расширением vbs :) и запуска этого visual basic скрипта командой shell. Опасно, понимаю.
Как при таких вводных предоставить функционал через Маркет?
кто-нибудь?
Пока у меня мысли вынести класс в котором выполняются dll вызовы в отдельную библиотеку и прицепить к описанию.
Кстати, для работы функционала нужен еще csv файл, который должен лежать в директории mql5\files. Его как-то можно вложением прикрепить к описанию?
кто-нибудь?
Пока у меня мысли вынести класс в котором выполняются dll вызовы в отдельную библиотеку и прицепить к описанию ссылкой.
Кстати, для работы
а зачем ?
основное правило маркета - dll и прочая подозрительная активность запрещены. Зависимости от любых внешних объектов (индикаторов и библиотек) запрещены.
Унеся вызовы в класс или библиотеку вы никоим образом не избавитесь от DLL.
PS/ продавая столь подозрительную штуку (формирование и запуск VBS от закрытого софта), вы должны брать личную ответственность и никто не захочет быть посредником.
кто-нибудь?
Пока у меня мысли вынести класс в котором выполняются dll вызовы в отдельную библиотеку и прицепить к описанию.
Кстати, для работы функционала нужен еще csv файл, который должен лежать в директории mql5\files. Его как-то можно вложением прикрепить к описанию?
Неужели не хватает Вам функции, самого терминала? что может сторонняя программа - чего не может терминал ?????????????????????
а зачем ?
основное правило маркета - dll и прочая подозрительная активность запрещены. Зависимости от любых внешних объектов (индикаторов и библиотек) запрещены.
Унеся вызовы в класс или библиотеку вы никоим образом не избавитесь от DLL.
PS/ продавая столь подозрительную штуку (формирование и запуск VBS от закрытого софта), вы должны брать личную ответственность и никто не захочет быть посредником.
мне пока сам механизм такого разделения не понятен. Скажем, вот код класса, в котором происходит обращение к dll
class cIntSpeech { public: void Say(string aText) { if(!MQL5InfoInteger(MQL5_DLLS_ALLOWED)) { Alert(__FUNCTION__+": Allow dll"); return; } string m_fntxt="sspeechexample.txt"; string m_fnvbs="sspeechexample.vbs"; int h=FileOpen("sspeechexample.txt",FILE_ANSI|FILE_WRITE); FileWrite(h,"CreateObject(\"SAPI.SpVoice\").Speak\""+aText+"\""); FileClose(h); string srcvbs = TerminalInfoString(TERMINAL_DATA_PATH)+"\\MQL5\\Files\\sspeechexample.txt"; //+MQLInfoString(MQL_PROGRAM_NAME)+".mq5"; string dstvbs = TerminalInfoString(TERMINAL_DATA_PATH)+"\\MQL5\\Files\\sspeechexample.vbs"; //"+MQLInfoString(MQL_PROGRAM_NAME)+".vbs"; if(CopyFileW(srcvbs,dstvbs,0)){ Print("Файл скопирован"); } else{ Print("Не удалоcь скопировать файл"); } int r = -1; r = ShellExecuteW(NULL,NULL,dstvbs,"","",0); Print("Код ошибки %d", r); } };
В самом эксперте, что будет лежать в Маркете, еще 3-4 класса, к dll обращение идет лишь в одном. Допустим, модифицирую DLL класс в коде эксперта, заменю shellexecute() и copyW() на printf() и приведу всю сову в соответствие с правилами.
Как мне сделать так, чтобы потенциальному покупателю было удобно подменить безопасный, но бесполезный класс, реальным классом, выполняющим полезную работу?
Неужели не хватает Вам функции, самого терминала? что может сторонняя программа - чего не может терминал ?????????????????????
много чего :)
Но в частности, MQL5 не может создать файл .vbs
Что-то мне кажется этот мастер просится в длительный карантин.
Расширение VBS – это скрипт, написанный на языке Visual Basic, используется для выполнения команд и программ в среде Windows. VBS скрипты интерпретируются или оконным интерпретатором WScript.exe, или консольным – CScript.exe (вместе они – Windows Script Host или WSH). Файлы .VBS могут так же иметь расширение .VB. Создавать скрипты VBS можно в блокноте или в любом другом текстовом редакторе, т.к. VBS – это текстовый формат. VBScript был создан Microsoft в качестве замены устаревшему языку .CMD, интерпретируемому приложением command.com.
Скрипты VBS чаще всего используются при автоматизации администрирования систем Windows или при написании кода на страницах Classic ASP, или в клиентских скриптах в браузере Internet Explorer.
ПРИМЕЧАНИЕ: Будьте осторожны .VBS файлы могут быть инфицированы зловредным кодом или трояном. Используйте антивирус для проверки файлов .VBS перед открытием, особенно если вы получили данный файл по почте или происхождение не известно.
источник: http://fileext.ru/vbs
Какого чёрта так стараться засунуть это в маркет???
много чего :)
Но в частности, MQL5 не может создать файл .vbs
может ещё Вам и .bat и .cmd
День добрый!
Правило №1 dll на Маркете запрещен. Хорошо, это понятно )
Теперь ситуация
Есть полезный, как мне кажется, функционал, который отлично работает в обертке эксперта, но не совсем не торгует. Использует метод onTimer для работы. DLL используется для операции переименования файла (ну нет в MQL) возможности создать файл с расширением vbs :) и запуска этого visual basic скрипта командой shell. Опасно, понимаю.
Как при таких вводных предоставить функционал через Маркет?
Подчеркнутую фразу можете расшифровать? )) Сделаны давно обертки по большинство Win API функций. Их можно использовать в Маркете, спецом у Рената спрашивал.
\MQL5\Include\WinAPI\..
Подчеркнутую фразу можете расшифровать? )) Сделаны давно обертки по большинство Win API функций. Их можно использовать в Маркете, спецом у Рената спрашивал.
\MQL5\Include\WinAPI\..
Глазам своим не верю !
Алексей, вы ли это ? Вас честно говоря очень нехватает на форуме... А то все вялые да хмурые..
Подчеркнутую фразу можете расшифровать? )) Сделаны давно обертки по большинство Win API функций. Их можно использовать в Маркете, спецом у Рената спрашивал.
\MQL5\Include\WinAPI\..
Так WinApi из Dll же тянет функции, а все Dll вызовы запрещены.
Какая то не ясность получается, и насколько помню писали, что наоборот WinApi вызовы тоже запрещены.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
День добрый!
Правило №1 dll на Маркете запрещен. Хорошо, это понятно )
Теперь ситуация
Есть полезный, как мне кажется, функционал, который отлично работает в обертке эксперта, но не совсем не торгует. Использует метод onTimer для работы. DLL используется для операции переименования файла (ну нет в MQL) возможности создать файл с расширением vbs :) и запуска этого visual basic скрипта командой shell. Опасно, понимаю.
Как при таких вводных предоставить функционал через Маркет?