Скачать MetaTrader 5

Вопрос про DLL

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Forex Trader
114269
Forex Trader  
Подсоединил DLL к эксперту. С путями всё ок. При вызове финкции из DLL ошибка:

2007.10.23 13:08:14 Expert LD EURUSD,H1: cannot call function 'ConnectSQL' from dll 'MSSQLprj.dll' (error 127)

#import "MSSQLprj.dll"
string ConnectSQL(string sServer, string sDB);
bool DisconnectSQL();
void ExecuteSQL(string sDatiSQL);

#import
...
int start()
{
.......
ConnectSQL("IT_LD_BIG", "fx");

.....


?
Forex Trader
114269
Forex Trader  
В Вашей dll нет функции ConnectSQL. Ошибка 127 об этом и говорит "The specified procedure could not be found."

Возможно, имя "испорчено". Заведите в Вашем проекте def-файл и перечислите в нём экспортируемые функции
Forex Trader
114269
Forex Trader  
raxbat, Каким компилятором пользуетесь? Приведите объявление функции 'ConnectSQL'
Forex Trader
114269
Forex Trader  
У меня тоже вопрос по DLL
А может и более общий, пока не ясно.

Кодом библиотеки cоздаю МТС в виде объекта c методами, полями. Обычный объект, в общем, глобально видимый и с глобальным временем жизни. Создается он как классический Синглтон ( Singleton ).

Создавал МТС именно по этому шаблону проектирования, понадеявшись на то, что с приходом нового тика и вызовом любой функции из библиотеки, смогу обновить- поднастроить ранее созданный в оперативной памяти объект. Но вся неприятность в том, что с новым тиким объект приходистся создавать заново, т.е синглтон не находя себя ранее созданного и настроенного, создает свеженький, нулевой вариант.

Как сделать, чтобы настройки объектов не затирались? Есть ли способ сделать это без сохранения состояния объекта в файл по завершении его настройки в соответствии с пришедшим тиком и загрузки ранее сделанных настроек по приходящему тику?
Forex Trader
114269
Forex Trader  
Скорее всего, ошибка в коде.
Должно работать без проблем.
Forex Trader
114269
Forex Trader  
для начала просто почитать книжку по Си, и осмыслить содеянное .. мест масса,

можно здесь к примеру: http://cylib.iit.nau.edu.ua/Books/Prog/C++/VisualC++/beginers/visual/12.html
Forex Trader
114269
Forex Trader  
для начала просто почитать книжку по Си, и осмыслить содеянное .. мест масса,

можно здесь к примеру: http://cylib.iit.nau.edu.ua/Books/Prog/C++/VisualC++/beginers/visual/12.html


Спасибо за книгу. Она мне даже понравилась поначалу.
Может быть поясните пару непонятых в ней моментов?

Меня заинтересовала возможность объявленные переменных общими для нескольких процессов.
При компиляции строки предложенного там решения
#pragma comment(lib,"msvcrt" "-SECTION:.myseg,rws");
выдается ошибка.
Forex Trader
114269
Forex Trader  
Скорее всего, ошибка в коде.
Должно работать без проблем.

Меня смущает один момент при отладке библиотеки: в функции dllMain постоянно происходит
DLL_THREAD_ATTACH DLL_THREAD_DETACH.
Forex Trader
114269
Forex Trader  
В зависимости от постановки задачи есть множество путей хранения общ. переменных,
к примеру простецкий и христоматийный CreateFileMapping/Map-UnmapViewOfFile .. можно и через
разделяемую память (уже где-то обсуждалось на форуме), можно через каналы, если это просто
синхронизация между процессами, то использование семафоров, можно глобально распредлить
volatile-переменные, так и блоки памяти, если известны id окон, можно и просто сообщениями.
Forex Trader
114269
Forex Trader  

В зависимости от постановки задачи есть множество путей хранения общ. переменных,
к примеру простецкий и христоматийный CreateFileMapping/Map-UnmapViewOfFile .. можно и через
разделяемую память (уже где-то обсуждалось на форуме), можно через каналы, если это просто
синхронизация между процессами, то использование семафоров, можно глобально распредлить
volatile-переменные, так и блоки памяти, если известны id окон, можно и просто сообщениями.


Когда есть много окон, процессов и всего прочего..
Но ведь у меня до предела простой случай.
Окно инструмента одно, к нему прикреплен соеетник- один, к нему dll- ка - одна в ней функция- одна)))))
та функция вызывает указатель на синглтон-объект. Ну а что дальше.. именно с этого я и начинал.

Все что написано безусловно полезно и нужно и каналы с семафорами в том числе, но я немного почитав про это делаю вывод что проблема в другом, но в чем, остается непонятным.
Forex Trader
114269
Forex Trader  

Меня заинтересовала возможность объявленные переменных общими для нескольких процессов.


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