
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
TheXpert
...я понимаю что вы разбираетесь о чем говорите и как можно это сделать.. не проще было бы показать..
я тоже не рекламирую что пишу нейронные сети. думаю кто- то кто разбирается реально сможет показать.. ща проверю последний показанный метод...
Я на делфи лет 10 не писал, я не знаю как православно работать там с массивом, поэтому не могу подсказать, только по симптомам диагноз поставить.
Не должно ядро так жраться и дллка висеть.
Так что разбирайтесь сами или подождите пока дельфисты подтянутся. Статьи попробуйте поискать, вроде были.
кто-нибудь подскажите, как сейчас передать массив строк из совы в DLL
на прежних билдах передавал указатели на строки
void data(string& val[]);
в библиотеке принимаю как String (PСhar не хочет работать, метатрейдер вылетает)
сейчас все работает, но передается только первая буква строки.. то есть вроде бы передается указатель на строку, но обработать этот указатель в дельфях уже не могу
или не знаю как, терминал рушится, когда пытаюсь работать с PChar
Переходи на С++
Я тоже долго маялся с паскалем, пока не принял волевое решение.
перейду, если покажете простой рабочий пример передачи строки из mql4 в dll и обратно
хотя тут проблема может и не в дельфях, я не понимаю что и как сейчас передает mql..
версия советника со старого компилятора работает и со String и с PChar, все корректно принимается, а что сделали в новом билде не понятно
Переходи на С++
Я тоже долго маялся с паскалем, пока не принял волевое решение.
опять изучать.. я скоро все языки пройду.. асталось ассемблер подучить..
чем лучше с++ ?
перейду, если покажете простой рабочий пример передачи строки из mql4 в dll и обратно
хотя тут проблема может и не в дельфях, я не понимаю что и как сейчас передает mql..
версия советника со старого компилятора работает и со String и с PChar, все корректно принимается, а что сделали в новом билде не понятно
насчот нового билда .. обновили без спроса.. аж матюкаться хочеться.. все попереносили на диск с ... dll работала на старом билде..
кто-нибудь подскажите, как сейчас передать массив строк из совы в DLL
на прежних билдах передавал указатели на строки
void data(string& val[]);
в библиотеке принимаю как String (PСhar не хочет работать, метатрейдер вылетает)
сейчас все работает, но передается только первая буква строки.. то есть вроде бы передается указатель на строку, но обработать этот указатель в дельфях уже не могу
или не знаю как, терминал рушится, когда пытаюсь работать с PChar
На юникод перешли. Теперь WCHAR.
На юникод перешли. Теперь WCHAR.
а как это использовать, в длл ловить как-то по другому надо? там вроде советовали передовать структуру, а как на mql структуры передовать чето не понял, через winapi чтоли
делаю в дельфях массив WideChar для приема данных
терминал крашится во врема присвоения данных. разве что попробовать другой дельфи, у меня 2006
----
вроде получилось передать через PWideChar в 2009 дельфях, правда глюки при заполнении массива лезут.. но там попарсить осталось правильно
скорее всего string с mql4 передает структуру данных из трех полей, потому что только одно поле содержит строку, остальные две какие-то данные.
пока не понял как эту структуру раскрыть правильно, но по сути достаточно брать первое поле для заполнения массива.
разрабы вроде писали что структура выглядить так
#pragma pack(push,1)
struct MqlString
{
int size;
LPWSTR buffer;
int reserved;
};
#pragma pack(pop)
----
короче кому интересно все получилось и довольно просто, так что дельфи пока рулит))
объявляю тип данных
в MQL4 передаю массив: void Test(string& val[]);
все работает вроде бы без глюков.