MetaTrader 4 Client Terminal build 646: Умный поиск, книги в Маркете и обновление окна параметров MQL4-программы - страница 27

 
Похоже что функция откуда-то хватает шестнадцатиричный код и его вместо строки выдаёт. Каждый раз разный.
 
Кто обновился на новые бета-билды, попробуйте поиграться функциями WebRequest и SignalXXXX.
 
Как пожелание, было бы практично из программы управлять подокнами индикатора, как создание новых и удаление старых подокон. Добавте пожалуйста, очень не хватает
 
aleksandr25:
я умею экспортировать функции, у меня половина кода в них. мне нужно понять что там в скобках). что такое szText. sz зачем там? и const зачем?

szText - Имя параметра.

sz - Префикс имени параметра (венгерская нотация). Обозначает нуль-терминаторную строку.

const - Обозначет константную строку. Не подлежит изменению в функции.

aleksandr25:
Похоже что функция откуда-то хватает шестнадцатиричный код и его вместо строки выдаёт. Каждый раз разный.
Значит передаётся. Как проверяете?
 
Zhunko:

szText - Имя параметра.

sz - Префикс имени параметра (венгерская нотация). Обозначает нуль-терминаторную строку.

const - Обозначет константную строку. Не подлежит изменению в функции.

Значит передаётся. Как проверяете?

 


У меня внутри библиотеки есть процедура которая выводит строки в файл. Передаётся не строка, может это адрес на строку?
 
aleksandr25:

У меня внутри библиотеки есть процедура которая выводит строки в файл. Передаётся не строка, может это адрес на строку?

Адрес на строку и есть строка. Как по-другому?

Как делаете вывод?

Если подключить консоль или скомпилировать библиотеку, как консольное приложение, то так:

declspec(dllexport) void __stdcall func(LPCWSTR szText)
 {
  std::wcout << szText << std::endl;
 }
Только инклюды с потоками надо подключить. Там же есть работа с файлами в потоке.
 
Renat:
Кто обновился на новые бета-билды, попробуйте поиграться функциями WebRequest и SignalXXXX.

А для чего они нужны в справке нет описания ????
 
В отчете html оптимизации так и не появились параметры тестов
 
aleksandr25:
Похоже что функция откуда-то хватает шестнадцатиричный код и его вместо строки выдаёт. Каждый раз разный.

"Доктор, меня все игнорируют!..." (с)

Постов 10 назад (https://www.mql5.com/ru/forum/151351/page20#966535) я писал про проблемы с передачей параметров UNICODE-овских строк в импортированных функциях. Например, 
 int res= kernel32::GetPrivateProfileStringW(SectionName, KeyName, Default, Buffer, nSize, FileName);

Эта строчка работает только в режиме отладки. В обычном режиме исполнения не работает. В предыдущем билде все работает.
 

 

Zhunko:

Адрес на строку и есть строка. Как по-другому?

Как делаете вывод?

Если подключить консоль или скомпилировать библиотеку, как консольное приложение, то так:

Только инклюды с потоками надо подключить. Там же есть работа с файлами в потоке.

 

 

ofstream fout("err_dll.txt", ios_base::app); // создаём объект класса ofstream для записи и связываем его с файлом cppstudio.txt


if (fout.is_open() == 1) //если файл открылся, то работаем

{

fout << "\n\n";

fout << asctime(local);

fout << sss << "\n"; // запись строки в файл   << sss переменная параметр функции. 

fout << "\n\n";

fout.close(); // закрываем файл

}


Результат.

09F5830C

09F5830C

А должно быть

test_string("Старт загрузки параметров"); - это вызов функции из mql

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