и снова dll и маркет - страница 3

 
Roman:

Так это вы готовите статью про голосовой движок?
Как успехи, статья выйдет в свет?

Отправил черновик Ренату, пока тишина )

 
Реter Konow:
Через ресурсы. Я так делал.

а можете поподробнее рассказать? 

И про winapi не улавливаю. В моем случае нужна функция CopyFileW из kernel32.dll и функция ShellExecuteW из shell32.dll

Аналогов в  <winapi\fileapi.mqh> не нахожу. 

 
Nikolai Karetnikov:

а можете поподробнее рассказать? 

И про winapi не улавливаю. В моем случае нужна функция CopyFileW из kernel32.dll и функция ShellExecuteW из shell32.dll

Аналогов в  <winapi\fileapi.mqh> не нахожу. 

вот статья про функция CopyFileW https://www.mql5.com/ru/articles/2552

CopyFileW — копирует файлы в "песочницу" и из "песочницы" MQL5.

LifeHack для трейдера: один бэк-тест хорошо, а четыре – лучше
LifeHack для трейдера: один бэк-тест хорошо, а четыре – лучше
  • www.mql5.com
Перед каждым трейдером при первом одиночном тестировании встает один и тот же вопрос — "Какой же из четырех режимов использовать?" Каждый из предлагаемых режимов имеет свои преимущества и особенности, поэтому сделаем проще — запустим сразу все режимы одной кнопкой! В статье показано, как с помощью Win API и небольшой магии увидеть одновременно...
 

что-то не уловил, ТС статью для сайта пишет или продукт в маркет ?

в статьях и приложенном к ним исходном коде очевидно WinAPI допустимы, это популяризация возможностей терминала

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

а вот для маркета однозначно #import "dll-name" не прокатит. 

 
Nikolai Karetnikov:

а можете поподробнее рассказать? 

И про winapi не улавливаю. В моем случае нужна функция CopyFileW из kernel32.dll и функция ShellExecuteW из shell32.dll

Аналогов в  <winapi\fileapi.mqh> не нахожу. 

В общем, есть такая штука, как ресурсы. Почитайте подробнее в документации. По мимо подключения файлов и картинок из вне, mql-программа может записывать данные во внутренние ресурсы в процессе работы и эти данные могут быть видимы для другой программы на другом графике, если другая программа "знает" путь к ресурсу первой программы. Так обе программы могут "общатся" - обмениваться данными на частоте до 16мс.
По сути, ресурсы могут использоваться как общая память программ.

Если первая (маркетная) программа будет работать с ресурсами, а вторая (открытая) будет их читать и вызывать длл, то проблема решена.

Но, правила маркета запрещают создавать внешние зависимости продуктов. Если вместо зависимости будет опция, то может быть.
 
Alexsandr San:

вот статья про функция CopyFileW https://www.mql5.com/ru/articles/2552

CopyFileW — копирует файлы в "песочницу" и из "песочницы" MQL5.

сюрреализм какой-то )) 

В статье описываются вызовы из импортируемых в код системных dll. В моем коде именно так в коде и происходит.

После  вот этого поста

Alexey Volchanskiy:

Подчеркнутую фразу можете расшифровать? )) Сделаны давно обертки по большинство Win API функций. Их можно использовать в Маркете, спецом у Рената спрашивал.

\MQL5\Include\WinAPI\..


я предположил, что с помощью winapi библиотек можно уйти от необходимости напрямую обращаться к DLL, а следовательно уйти от необходимости линковать DLL в код, а следовательно иметь возможность вывести код с winapi функциями в Маркет. 

Я ошибался?

 
Nikolai Karetnikov:


Я ошибался?

Да, все WinApi вызовы из Mql происходят после  линковки системных Dll.
Из этих Dll и вызываются функции Windows.

 
Maxim Kuznetsov:

что-то не уловил, ТС статью для сайта пишет или продукт в маркет ?

в статьях и приложенном к ним исходном коде очевидно WinAPI допустимы, это популяризация возможностей терминала

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

а вот для маркета однозначно #import "dll-name" не прокатит. 

статья может быть про базовую версию продукта

 
Nikolai Karetnikov:

...

Я ошибался?

А попробуйте. Попытка, как говорится, не пытка.)
Потом, здесь расскажите получилось или нет.
 
Реter Konow:
В общем, есть такая штука, как ресурсы. Почитайте подробнее в документации. По мимо подключения файлов и картинок из вне, mql-программа может записывать данные во внутренние ресурсы в процессе работы и эти данные могут быть видимы для другой программы на другом графике, если другая программа "знает" путь к ресурсу первой программы. Так обе программы могут "общатся" - обмениваться данными на частоте до 16мс.
По сути, ресурсы могут использоваться как общая память программ.

Если первая (маркетная) программа будет работать с ресурсами, а вторая (открытая) будет их читать и вызывать длл, то проблема решена.

Но, правила маркета запрещают создавать внешние зависимости продуктов. Если вместо зависимости будет опция, то может быть.

А Маркет-советник сможет записать текстовый файл в качестве ресурса?

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

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