как написать dll? - страница 5

 
xrust:

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

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

PS. Как модератор я бы снес весь этот оффтоп и флуд, и свой в том числе, но делать этого не буду. Но если это сделает кто либо другой - он будет полностью прав, и я не стану к нему приставать по поводу "затыкания мне рта".

PSPS. Очень хочется спросить - кто это "мы" и какой конкуренции "мы" должны бояться ? То есть по вашему есть некая группировка "наших", которым ваше "хорошее дело" стоит поперек горла, и которая не дает вам его рекламировать на страницах этого сайта, потому что боится, что все те, которых я (мы, они), должны добровольно обслуживать убегут навсегда от "нас" плохих к "вам" хорошим ???

Здесь сейчас Эфи (чтоб было понятно нас под этим ником пишет несколько человек). Понимаю горячность Лени который высказался, а в ответ получил замаскированную нецензурную брань. И за что, за то, что "осмелился" посоветовать администрации сайта и программистам прописавшимся здесь и видимо считающих сайт своей вотчиной. А может стоило поддержать его или поспорить, но не "пипецать"? - Здесь неправоты Леонида не вижу, а вашу вижу.

По поводу добровольности - Рустам, вы ведь общественный модер, а значит доброволец и обслуживаете этот сайт поддерживая порядок. Это ваша добровольная помощь-услуга форуму. Разве не так? И опять Леонид прав, а вы нет.

Снести тему можно, но не стоит - это наука как надо и как не надо себя вести тем кто обслуживает форум и тем кого обслуживают (здесь только 2 категории пользователей). Вам за ваши некоторые разработки (УВАЖАЮ) платят, не так ли? А значит вы имеете с сайта доход, т.е на нем находятся ваши Клиенты. Как руководитель с 35-летним стажем я много лет не позволяю себе грубить Клиенту. Это опять про вашу грубость и неправоту по отношению к человеку, который желает этому сайту развиваться. Сам попадал в подобную ситуацию с одним из первых модераторов сайта потом "расшаркались" по почте и разошлись.

По поводу слета в Геленджике и конкуренции Леонид неправ. Признаю. Просто он отвечает за это мероприятие и видимо его беспокоит вялое развитие процесса регистрации.

Выводы. По поводу Леонида. Некоторое время Леонид будет только мониторить этот сайт, без комментариев.

По поводу вас Рустам. Не стоит задираться там, где можно сотрудничать. В следующем году мы проведем подобный слет в Одессе, Николаев рядом и я надеюсь, что вы примете наше приглашение об участии в этом мероприятии.

Всем счастья, любви и удачи. Зосим откланяюсь. До будущих встреч на полях созидания, но не брани.

 
Vinin:
Я вот тоже не умею DLL писать. И что мне делать тогда?

Вопрос понял. Вопрос хороший.
.
Можно спрашивать.
.
Но не задавать странный вопрос:
* "а как сделать Dll на С++, но С++ я не знаю"
.
а задавать вопросы типа:
* "как мне заставить UI работать из Dll",
* "как мне сделать, чтобы Dll не закрывалась при закрытии
советника- индикатора- скрипта" или предшествующий вопрос
* "почему при закрытии индикатора теряются настройки Dll
и закрывается окно настроек?"
.
Вопросы типа "как пользоваться Wtl / Mfc" несколько странные
и не факт, что на них будут здесь отвечать-
но вопрос вполне корректный- просите научить по скайпу,
просите несколько коротких видео. Лично для вас. И скорее всего за $.
.
Можно просить что-то готовое- или в виде исходника,
возможно с объяснением.
.
Во многих случаях программиста можно изолировать от
ненужных ему подробностей
(например, как данные поступают из МТ)-
если человек считает, что он хочет просто написать
какую-то обработку- можно дать ему пустую функцию
.
void Process(const std::vector & in, const std::vector & out)
{
for(int i = 0; ...) { out.at(i) = in.at(i) * 2; }
}
пусть дальше внутри пишет что хочет.
Возможность увидеть результат не быстро, а очень быстро!-
для начинающего программировать- это очень много.
.
Например, в моей программе
https://docs.google.com/leaf?id=0BxWggsgmLeCfYjYyMjA5YjItY2NlOC00YTE0LTliMmMtZGNjMDBiOTU3ZmYy&hl=en_US
(звук выключите- а то оно на английском)
программисту-пользователю нужно уметь только вызывать функции типа
НайдиПараметр("вход")
СоздайПараметр("выход")
и создавать какие-то математические вычисления внутри-
все остальное- такое как отображение данных в МТ,
сохранение в файл, построение графиков, отображение таблиц и т.д.
уже сделано до него (вопрос насколько полно ;-) ).
.
Или человек должен сформулировать какие-то шаги
на тему "что я хочу уметь"- тогда обращаясь
за обучением он всегда будет видеть, что происходит
(научили- не научили) и куда двигаться дальше.
.
И еще аспект- если считать собственное время
(а у кого-то день стоит и $100, и $200), то не факт,
что опыт создания UI- из- Dll себя оправдает.
.
---------------------------------------------------------------------------
.
И ответ для Эфи:
Рустам прав в том, что есть разные уровни вопросов.
.
Бывают вопросы чрезвычайно конкретные: у человека не хватает опыта,
человек в недоумении или тупит (помню и за собой такое).
.
Бывает, что человек не искал- и начинает спрашивать "что у меня за ошибка 126"?
.
Бывают вопросы как я привел выше - "а как сделать Dll на С++, но С++ я не знаю".

 

Дорогие друзья пишущие под этим ником . Господа, сообщество. Сейчас я выскажу свое личное мнение как пользователь с ником xrust, кто с ним не согласен - прошу к дискуссии.

Так вот этот форум (как впрочем и любой другой), является общественным местом, где все пользователи имеют равные права и обязанности. То есть таким образом я утверждаю, что я никому здесь ничего не должен, тем более "обслуживать", в равной мере это относится и ко мне тоже.

В этом месте каждый пользователь имеет возможность высказывать свое мнение по тому или иному поводу не нарушая правил этого форума. Но в равной мере любой пользователь может возразить другому если он считает позицию оппонента неверной.

Таким образом я имею полное право высказывать свою точку зрения на ваш комментарий НИ О ЧЕМ т.е. не несущий никакой смысловой нагрузки в контексте данной темы. Как впрочем и все остальные ваши комментарии. И здесь я вижу полную свою правоту. ибо считаю вас (всех пишущих под этим ником) трутнями паразитирующими на этом форуме, так как вы не подходите ни под один пункт вашей же классификации (обучаемые и обучающие (обслуживающие)). Все чем вы занимаетесь здесь - это пиар и неумелые попытки напомнить о себе . Если вдруг у вас возникла гениальная идея по улучшению этого сайта, то почему бы ее не высказать в предназначенной для этого ветке ?

Если у вас есть претензии ко мне как к общественному модератору - прошу ! но тоже в официальной для этого ветке .

Относительно дохода, Ни за одну разработку выложенную на этом месте я не просил, не прошу, и не буду просить денег (если только не буду продавать свои платные работы в официальном магазине). Таким образом я утверждаю что никакого дохода с этого форума (сайта) я не получаю. Потому что это будет идти в разрез с правилами этого места. Чего не скажешь о вас исходя из ваших целей описанных в вашем же профиле на этом сайте. (опять я прав, а вы нет)

Относительно ваших проблем с вашим "слетом" - дело это весьма неблагодарное и достаточно проблемное в смысле собирания участников, и работа по привлечению через интернет, это только первая, и совершенно недостаточная стадия. Скажу как человек имевший опыт, что на единичное мероприятие люди будут ехать весьма неохотно, и нужна либо грандиозная программа, либо устойчивый авторитет, и вербовка (в первую очередь заинтересованностью, но не финансовой а качеством и стилем подаваемого материала) сторонников (постоянных слушателей) через "трейдерское радио". И даже эти обстоятельства не извиняют Леонида в его неадекватной реакции (с переходом на личности) на мое замечание.

 
xrust:

Дорогие друзья пишущие под этим ником . Господа, сообщество. Сейчас я выскажу свое личное мнение как пользователь с ником xrust, кто с ним не согласен - прошу к дискуссии.

Так вот этот форум (как впрочем и любой другой), является общественным местом, где все пользователи имеют равные права и обязанности. То есть таким образом я утверждаю, что я никому здесь ничего не должен, тем более "обслуживать", в равной мере это относится и ко мне тоже.

В этом месте каждый пользователь имеет возможность высказывать свое мнение по тому или иному поводу не нарушая правил этого форума. Но в равной мере любой пользователь может возразить другому если он считает позицию оппонента неверной.

Таким образом я имею полное право высказывать свою точку зрения на ваш комментарий НИ О ЧЕМ т.е. не несущий никакой смысловой нагрузки в контексте данной темы. Как впрочем и все остальные ваши комментарии. И здесь я вижу полную свою правоту. ибо считаю вас (всех пишущих под этим ником) трутнями паразитирующими на этом форуме, так как вы не подходите ни под один пункт вашей же классификации (обучаемые и обучающие (обслуживающие)). Все чем вы занимаетесь здесь - это пиар и неумелые попытки напомнить о себе . Если вдруг у вас возникла гениальная идея по улучшению этого сайта, то почему бы ее не высказать в предназначенной для этого ветке ?

Если у вас есть претензии ко мне как к общественному модератору - прошу ! но тоже в официальной для этого ветке .

Относительно дохода, Ни за одну разработку выложенную на этом месте я не просил, не прошу, и не буду просить денег (если только не буду продавать свои платные работы в официальном магазине). Таким образом я утверждаю что никакого дохода с этого форума (сайта) я не получаю. Потому что это будет идти в разрез с правилами этого места. Чего не скажешь о вас исходя из ваших целей описанных в вашем же профиле на этом сайте. (опять я прав, а вы нет)

Относительно ваших проблем с вашим "слетом" - дело это весьма неблагодарное и достаточно проблемное в смысле собирания участников, и работа по привлечению через интернет, это только первая, и совершенно недостаточная стадия. Скажу как человек имевший опыт, что на единичное мероприятие люди будут ехать весьма неохотно, и нужна либо грандиозная программа, либо устойчивый авторитет, и вербовка (в первую очередь заинтересованностью, но не финансовой а качеством и стилем подаваемого материала) сторонников (постоянных слушателей) через "трейдерское радио". И даже эти обстоятельства не извиняют Леонида в его неадекватной реакции (с переходом на личности) на мое замечание.

Вы не успокоились. Ну чтож.... Если вы общественный модератор, то неморально высказываться замаскированным матом в этом же форуме который модерируете пользователю с ником Хруст (должность не позволяет). Пользуйтесь другим ником иначе я буду думать, что это грубая попытка просто напомнить о себе. И если подобный "пипец" еще раз повторится я (Эфраим Санкер) буду просить администрацию лишить вас звания модератор.

Вы не должны, но модерируете добровольно т.е. "обслуживаете" форум.

Не надо обобщать, мы здесь учимся, а не паразитируем, заказываем нужное нам, подсказываем ссылки, советуем. А в Школе дивергенций учим других.

Если вы будете хамить даже замаскированным матом - будут претензии.

http://opmarketvol.com/news.html#registration2 - это ваш ресурс ? А это наш. Какой из них платный ? (пиарим друг друга, что может быть лучшим пиаром чем хороший скандал).

Слет пройдет с форматом МТ4 в Украинском дворике или без него в любом случае. Леонид наказан. А за мат я увольняю сотрудника после первого предупреждения.

 
Geronimo:

Вы не успокоились. Ну чтож.... Если вы общественный модератор, то неморально высказываться замаскированным матом в этом же форуме который модерируете пользователю с ником Хруст (должность не позволяет). Пользуйтесь другим ником иначе я буду думать, что это грубая попытка просто напомнить о себе. И если подобный "пипец" еще раз повторится я (Эфраим Санкер) буду просить администрацию лишить вас звания модератор.

Вы не должны, но модерируете добровольно т.е. "обслуживаете" форум.

Не надо обобщать, мы здесь учимся, а не паразитируем. А в Школе дивергенций учим других.

Если вы будете хамить даже замаскированным матом - будут претензии.

http://opmarketvol.com/news.html#registration2 - это ваш ресурс ? А это наш. Какой из них платный ? (пиарим друг друга, что может быть лучшим пиаром чем хороший скандал).

Слет пройдет с форматом МТ4 в Украинском дворике или без него в любом случае. Леонид наказан. А за мат я увольняю сотрудника после первого предупреждения.

Дорогой Эфраим Санкер .

Во первых - запомните раз и навсегда - я никого не обслуживаю, не обслуживал, и не буду обслуживать, Ни в прямом ни в переносном смысле. Просто зарубите это себе на носу.

Во вторых - если вы видите под ником xrust надпись "модератор" - то протрите глаза и, или, ваш монитор.

В третьих - я не обобщаю - я утверждаю и обвиняю вас в паразитизме на этом форуме.

В четвертых - свои претензии направляйте в официальные инстанции .

В пятых - Перестаньте пиарить и рекламировать сторонние ресурсы - этим вы напрямую нарушаете правила этого форума.

В шестых - перестаньте угрожать, этим вы тоже нарушаете правила. Итого три нарушения правил на один ваш пост.

 
xrust:

Дорогой Эфраим Санкер .

Во первых - запомните раз и навсегда - я никого не обслуживаю, не обслуживал, и не буду обслуживать, Ни в прямом ни в переносном смысле. Просто зарубите это себе на носу.

Во вторых - если вы видите под ником xrust надпись "модератор" - то протрите глаза и, или, ваш монитор.

В третьих - я не обобщаю - я утверждаю и обвиняю вас в паразитизме на этом форуме.

В четвертых - свои претензии направляйте в официальные инстанции .

В пятых - Перестаньте пиарить и рекламировать сторонние ресурсы - этим вы напрямую нарушаете правила этого форума.

В шестых - перестаньте угрожать, этим вы тоже нарушаете правила. Итого три нарушения правил на один ваш пост.

Бэсэдэр. Пусть белое будет черным. Хоть каждый из нас кого-нибудь обслуживает (опять обобщаете) вы клиентов своего сайта например.

Уточню.

... мы здесь учимся, а не паразитируем, заказываем нужное нам, подсказываем ссылки, советуем....

Протрите и вы глаза. И перестаньте хамить.

Модераторы - не удаляйте ветку это хороший урок вежливости, хамства и манипулирования.

 
Geronimo:

Бэсэдэр. Пусть белое будет черным. Хоть каждый из нас кого-нибудь обслуживает (опять обобщаете) вы клиентов своего сайта например.

Уточню.

... мы здесь учимся, а не паразитируем, заказываем нужное нам, подсказываем ссылки, советуем....

Протрите и вы глаза. И перестаньте хамить.

Модераторы - не удаляйте ветку это хороший урок вежливости, хамства и манипулирования.

Dear sir, С выделенным абсолютно согласен. Этот спор откроет глаза (тем кто захочет это сделать), На ваше не проходящее высокомерие, чванство, хамство и манипулирование (подмену понятий) в угоду себе. А бэсэдэр, здесь будет можете не сомневаться. Lehitraot.
 
dmmikl86:

такое я и сам могу. задача чтобы научиться работать с длл, и делать различные фичи которые приносят удобство при торговле.
Может вы сможете регулярно освещать ваш путь от по этому вопросу? Что-то типа дневника сделал так, а надо было так-то ... Тема интересная и полезная.
 
dmmikl86:

попробывал добавить свою функцию в .cpp сделал это так:

добавил функцию в .def

добавил функцию в .mqh

затем добавил в эксперта

во время дебага в визуале написало: Программа "[5248] regsvr32.exe: Машинный код" завершилась с кодом 0 (0x0).

при запуске советника на терминале выдало ошибку : 2011.07.08 12:20:14 ExportFunctions EURUSD,H1: cannot call function 'myfunc' from dll 'ExpertSample.dll' (error 127)

подскажите где ошибки? и как их исправить...

Весь срр-шный код не проверял но на вскидку вот так нельзя:

добавил функцию в .mqh

#import "ExpertSample.dll"
int    GetIntValue(int);
int    myfunc(int,int);
double GetDoubleValue(double);
string GetStringValue(string);
double GetArrayItemValue(double arr[],int,int);
bool   SetArrayItemValue(double& arr[],int,int,double);
double GetRatesItemValue(double rates[][6],int,int,int);
int    SortStringArray(string& arr[],int);
int    ProcessStringArray(string& arr[],int);


Во первых импорт должен начинаться и заканчиваться зарезервированным словом

#import

во вторых не зависимо от того как функции были описаны в срр, в mql есть свой формат вызова, и обьявление типа параметра без имени переменной не допускается,

плюс вы експортируете функции со структурами в параметрах, но в mql4 нет структур, а значит и вызов будет невозможет.

У вас

struct MqlStr
  {
   int               len;
   char             *string;
  };

вызывается как

string

не факт что переменная стринг имеет точно такое же представление в mql4 как вы описали.

В общем много чего, попробуйте всё закоментировать и подключать по отдельности пока не заработает, возможно отловите все баги.

 
Urain:

Весь срр-шный код не проверял но на вскидку вот так нельзя:

Во первых импорт должен начинаться и заканчиваться зарезервированным словом

во вторых не зависимо от того как функции были описаны в срр, в mql есть свой формат вызова, и обьявление типа параметра без имени переменной не допускается,

плюс вы експортируете функции со структурами в параметрах, но в mql4 нет структур, а значит и вызов будет невозможет.

У вас

вызывается как

не факт что переменная стринг имеет точно такое же представление в mql4 как вы описали.

В общем много чего, попробуйте всё закоментировать и подключать по отдельности пока не заработает, возможно отловите все баги.




На самом деле все что Вы описали будет прекрасно работать, как бы на это намекает пример который поставляется с терминалом. И если посмотреть ветку полностью то Вы увидите что этот этап ТС прошел успешно.
Причина обращения: