Как побороть ошибку Cannot find 'Add' in 'Test1.dll' ? - страница 5

 
Andrey Voytenko:

Было бы понятнее, если бы вы показали, как объявлена функция на С# и MQL возвращающая иероглифы.

для х86 ссылка есть на предыдущих страницах

устроил этот вариант для х64 и х86:

только со стрингами и массивами не совсем ахти

 
Rashid Umarov:
Здесь https://www.mql5.com/ru/articles/2895

как раз об этом же варианте пост выше, если я не путаю.

PS

Всем огромное спасибо!

 
Renat Akhtyamov:

для х86 ссылка есть на предыдущих страницах

устроил этот вариант для х64 и х86:

http://forum.hellroom.ru/index.php?topic=21309.0

только со стрингами и массивами не совсем ахти

Ссылка, указанная Вами, абсолютно правильная Собирается проект на ура. Всего лишь один раз внедряется библа и далее можно ваять сколько угодно. Только я бы на Вашем месте просмотрел видео самого автора. Атрибуты функций можно сократить с [DllExport("AddDouble", CallingConvention = CallingConvention.StdCall)] до [DllExport], не требуется указывать название метода, если он не отличается от объявленного. Что касается string, то внимательно прочитайте статью из первого Вашего поста. Автор там указывает на необходимый маршалинг передаваемых значений.

 
Алексей Барбашин:

Ссылка, указанная Вами, абсолютно правильная Собирается проект на ура. Всего лишь один раз внедряется библа и далее можно ваять сколько угодно. Только я бы на Вашем месте просмотрел видео самого автора. Атрибуты функций можно сократить с [DllExport("AddDouble", CallingConvention = CallingConvention.StdCall)] до [DllExport], не требуется указывать название метода, если он не отличается от объявленного. Что касается string, то внимательно прочитайте статью из первого Вашего поста. Автор там указывает на необходимый маршалинг передаваемых значений.

Разобрался с маршалингом.

Применил.

Всё работает.

Спасибо!

 
Renat Akhtyamov:

Разобрался с маршалингом.

Применил.

Всё работает.

Спасибо!

Ну вот и отлично! )))

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