#30726 - Tue Aug 30 2011 08:00 PM
Re: Использование TSLab API в SharpDevelop.
[Re: SergeySal]
|
stranger
Registered: Wed Dec 22 2010
Записи: 17
|
И какой версии должен быть Visual?
|
Наверх
|
|
|
|
#32032 - Mon Oct 10 2011 04:36 PM
Re: Использование TSLab API в SharpDevelop.
[Re: profit]
|
newbie
Registered: Mon Oct 10 2011
Записи: 43
|
Огромное спасибо автору этого раздела за подробные и чёткие инструкции. Вот только у меня всё же возникла проблема - не удаётся в программе TSLab подключить откомпилированный индикатор из примера, т.е. не получается подключить dll файл созданный в пунктах 5.3 и 5.4. А конкретнее не получается выполнить шаг 5.5 - "5.5. Заходим в программу TSLab в редактор шаблона и смотрим на закладку Пользовательские индикаторы". Вот как раз закладка "Пользовательские индикаторы" у меня остаётся пустой. Хотя новенький dll файл, только что благополучно откомпилированный, у меня размещается в директории: "...\TSLab\Handlers\" автоматически. Дело в том, что все инструкции приведённые в статье выполнял очень скрупулёзно и пример с внешним сриптом на C# работает, а пример с индикатором нет.
Отредактировано Physic (Tue Oct 11 2011 12:37 PM)
|
Наверх
|
|
|
|
#32057 - Tue Oct 11 2011 01:39 PM
Re: Использование TSLab API в SharpDevelop.
[Re: ViL]
|
newbie
Registered: Mon Oct 10 2011
Записи: 43
|
Попробуйте любой другой индикатор. Попробывал ещё 2 других индикатора, которые скачал с этого же форума - результат тот же - новый индикатор в терминале TSLab не появляется в редакторе шаблона, во вкладке Пользовательские! Хотя соответствующий dll файл размещаю строго так, как описано в начале этой темы, т.е. в директорию: "F:\Program Files\TSLab\Handlers". Т.е. видимо терминал просто почему то "не видит" соответствующий dll файл. Все инструкции я выполнял строго как описано в начале этой темы. Может кто нибудь попробует чисто механически пройти эти шаги и напишет работают ли у него пользовательские индикаторы?
|
Наверх
|
|
|
|
#32058 - Tue Oct 11 2011 02:27 PM
Re: Использование TSLab API в SharpDevelop.
[Re: Physic]
|
Carpal Tunnel
Registered: Thu Apr 01 2010
Записи: 2564
Loc: г. Дзержинский
|
10 минут назад индюк делал, все работает. Там в примерах, один индюк реально не работает, полтора года назад разработчикам говорили, но походу, это спецом сделано, что б человек помучался и научился Я через тот индюк то же проходил, суток двое сидел... Короче, возьмите индюк нормальный, к примеру из встроенных в тслаб http://www.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=8511#Post8511 , замените названия и компильните. Перезагрузите тслаб, должно появится.
_________________________
«Существует 3 типа лжи: ложь, наглая ложь и статистика» Дизраэли.
|
Наверх
|
|
|
|
#32094 - Wed Oct 12 2011 02:55 PM
Re: Использование TSLab API в SharpDevelop.
[Re: 777]
|
newbie
Registered: Mon Oct 10 2011
Записи: 43
|
10 минут назад индюк делал, все работает. Там в примерах, один индюк реально не работает, полтора года назад разработчикам говорили, но походу, это спецом сделано, что б человек помучался и научился Я через тот индюк то же проходил, суток двое сидел... Короче, возьмите индюк нормальный, к примеру из встроенных в тслаб http://www.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=8511#Post8511 , замените названия и компильните. Перезагрузите тслаб, должно появится. К сожалению и с другим индикатором, так же загруженным с форума, та же ситуация - терминал TSLab "не видит" пользовательских dll файлов, хотя размещаю их в папке "D:\Program Files\TSLab\Handlers". Уже не знаю что и делать!
|
Наверх
|
|
|
|
#32098 - Wed Oct 12 2011 04:19 PM
Re: Использование TSLab API в SharpDevelop.
[Re: Physic]
|
Carpal Tunnel
Registered: Thu Apr 01 2010
Записи: 2564
Loc: г. Дзержинский
|
либо шарпдевелоп не той версии (старый), либо выбран NET Framework 2.0 в проекте, а не 3.5.
Должен быть Sharp Develop 3.2 или выше и ворк 3.5 и только он.
Отредактировано 777 (Wed Oct 12 2011 04:24 PM)
_________________________
«Существует 3 типа лжи: ложь, наглая ложь и статистика» Дизраэли.
|
Наверх
|
|
|
|
#32105 - Wed Oct 12 2011 10:25 PM
Re: Использование TSLab API в SharpDevelop.
[Re: 777]
|
newbie
Registered: Mon Oct 10 2011
Записи: 43
|
либо шарпдевелоп не той версии (старый), либо выбран NET Framework 2.0 в проекте, а не 3.5.
Должен быть Sharp Develop 3.2 или выше и ворк 3.5 и только он. Сегодня ещё один день ушёл безрезультатно - скомпилировать индикатор и добавить его в TSLab не удаётся (TSLab не видит dll)! На самом деле, т.к. я только на той неделе первый раз скачал и установил ШарпДевелоп, то у меня были самые последние версии и ШарпДевелопа 4.1 и Фреймворка 4.0. После Вашего сообщения я подумал, что может быть свежие версии не работают ещё, как должны, и установил предыдущие версии (ШарпДевелоп 3.2 и ФреймВорк строго 3.5), как Вы и написали. Перед установкой более старых версий, свежие версии удалял во избежание конфликта версий. Но к сожалению, и предыдущие версии также не работают. При этом параметр Target Framework был установлен в ".Net Framework 3.5", т.е. строго так, как Вы и написали. Уже не знаю, на что пенять! Может терминал TSLab у меня слишком свежий (версия 1.1.20.0), т.е. сырой. У Вас какая версия терминала? И вообще, что ещё можно сделать, что бы dll файлы начали восприниматься терминалом?
|
Наверх
|
|
|
|
#32107 - Thu Oct 13 2011 01:43 AM
Re: Использование TSLab API в SharpDevelop.
[Re: Physic]
|
writer
Registered: Sun Nov 21 2010
Записи: 428
|
Выложите на форум DLL, я гляну в чем дело.
_________________________
Не пишите мне! Никому ничего делать не буду.
|
Наверх
|
|
|
|
#32113 - Thu Oct 13 2011 12:42 PM
Re: Использование TSLab API в SharpDevelop.
[Re: jhgjrht]
|
newbie
Registered: Mon Oct 10 2011
Записи: 43
|
Выложите на форум DLL, я гляну в чем дело. А как файл выложить на форум? Кстати, Ваше предложение натолкнуло меня на идею попробывать открыть созданный dll файл индикатора в вспомогательной программе - "Dependency Walker" (программа для просмотра и анализа dll файлов). Эта вспомогательная прога показала, что в созданной dll есть ошибка и вывела строку описания этой ошибки: "Error: At least one module has an unresolved import due to a missing export function in an implicitly dependent module. Warning: At least one delay-load dependency module was not found."В другом окошке этой же проги есть список видимо других dll связанных с вновь созданной dll, так вот в этом списке напротив 2-х dll стоят вопросительные знаки и красным текстом написано: (?) GDIPLUS.DLL - Error opening file. The system cannot find the file specified (2).(?) GPSVC.DLL - Error opening file. The system cannot find the file specified (2).Наверное поэтому терминал TSLab не видит мои dll файлы, созданные в среде ШарпДевелоп. Только не очень понятно, почему эта проблема возникает только у меня одного, хотя всё вспомогательное ПО я устанавливал строго по инструкциям! Есть ещё идея соответственно попробывать как то самому найти эти две не достающие dll, но тогда встанет вопрос, а каких версий должны быть эти dll и в какие директории они должны быть скопированы? Кстати, может быть Вы для эксперимента вышлите мне например на мэйл (serinfo@inbox.ru) Ваш какой нибудь самый обычный и, самое главное, работающий в терминале TSLab индикатор - dll, что бы я его мог посмотреть в терминале и удостовериться, по крайней мере, что проблема не с терминалом TSLab? А может даже заархивированную папку с готовым внутри проектом этого индикатора, что бы я сам мог попробывать откомпилировать этот dll файл - индикатор. А ещё лучше и то и другое - и откомпилированный dll файл, и заархивированную папку с проектом этого индикатора. Заранее огромное Вам спасибо!
Отредактировано Physic (Thu Oct 13 2011 12:49 PM)
|
Наверх
|
|
|
|
#32115 - Thu Oct 13 2011 01:48 PM
Re: Использование TSLab API в SharpDevelop.
[Re: Physic]
|
writer
Registered: Sun Nov 21 2010
Записи: 428
|
Опа как Вы безусловно очень умный, но я бы порекомендовал Вам остановиться в Ваших изысканиях. Даже до "GDIPLUS.DLL" доходить было совсем необязательно. Чего доброго доберетесь еще до "hal.dll" и подумаете, что она несоответствующей версии, придется процессор менять. TSLab не видит Ваши DLL только из-за несоответствия версии .net framework или если в программном коде индикатора Вы удалили что-то "ненужное". ыыыы
Attachments
WMA.rar (215 downloads)
_________________________
Не пишите мне! Никому ничего делать не буду.
|
Наверх
|
|
|
|
#32116 - Thu Oct 13 2011 01:48 PM
Re: Использование TSLab API в SharpDevelop.
[Re: Physic]
|
TSLab
Carpal Tunnel
Registered: Sun Oct 17 2010
Записи: 8139
|
|
Наверх
|
|
|
|
#32118 - Thu Oct 13 2011 02:33 PM
Re: Использование TSLab API в SharpDevelop.
[Re: jhgjrht]
|
newbie
Registered: Mon Oct 10 2011
Записи: 43
|
Опа как TSLab не видит Ваши DLL только из-за несоответствия версии .net framework или если в программном коде индикатора Вы удалили что-то "ненужное". ыыыы Огромное Вам спасибо, что откликаетесь! Но к сожалению, мистика продолжается! Терминал TSLab самой последней версии (1.1.20.0) не видит и Вашу dll. Попробывал в ШарпДевелопе откомпилировать Ваш код - так же без результатно. К тому же я, так как только начинаю осваивать среду ШарпДевелоп, то естественно сам ни одной строчки из примеров кодов не удалял и даже не притрагивался к ним. Задача была просто откомпилировать стандартный, работающий код в dll файл индикатора и затем посмотреть его на графике в терминале TSLab. Что касается не соответствия версии .net framework, то у меня установлена самая последняя версия - 4.0, хотя я уже пробывал её удалять и переустанавливать на предыдущую версию - 3.5. Результат был один и тот же! У меня уже просто отчаяние начинается!
|
Наверх
|
|
|
|
#32119 - Thu Oct 13 2011 03:10 PM
Re: Использование TSLab API в SharpDevelop.
[Re: Physic]
|
writer
Registered: Sun Nov 21 2010
Записи: 428
|
Ну, отчаиваться не надо. Ранее Вы писали, что размещаете DLL с индикаторами в папку "D:\Program Files\TSLab\Handlers", убедитесь, что TSLab запускаете из "D:\Program Files\TSLab". Проверьте буквы названия "Handlers", может "H" кириллицей набрано, например. Проще эту папку заново создать. Тот индикатор, что я выложил должен появиться на закладке "MyIndicators" в окне редактора TSLab. Проверьте. Логи программы посмотрите. Ну если ничего не помогает, тогда "в морг".
_________________________
Не пишите мне! Никому ничего делать не буду.
|
Наверх
|
|
|
|
#32138 - Thu Oct 13 2011 08:09 PM
Re: Использование TSLab API в SharpDevelop.
[Re: jhgjrht]
|
newbie
Registered: Mon Oct 10 2011
Записи: 43
|
Ну, отчаиваться не надо. Ранее Вы писали, что размещаете DLL с индикаторами в папку "D:\Program Files\TSLab\Handlers", убедитесь, что TSLab запускаете из "D:\Program Files\TSLab". Проверьте буквы названия "Handlers", может "H" кириллицей набрано, например. Проще эту папку заново создать. Тот индикатор, что я выложил должен появиться на закладке "MyIndicators" в окне редактора TSLab. Проверьте. Логи программы посмотрите. Ну если ничего не помогает, тогда "в морг". То что буквы 'H' или 'a' в названии папки могли быть набраны кирилицей, это Вы безусловно правы, но это было самое первое, что я проверял (просто не перечислял это дабы не загромождать важную тему). К тому же на этой неделе я уже несколько раз полностью сносил и TSLab и SharpDevelop и Framework, пробывал их переустанавливать предыдущими версиями, не помогало, снова устанавливал новые версии. Когда прописывал установычные пути, за кодировкой следил строго, т.к. такую возможную ошибку с кодировками всегда держу в голове. Тут ещё один интересный момент вскрылся с той DLL, ссылку на которую Вы мне дали - в моей ОС Ваша DLL также оказалась не работоспособной, по сути пустой, т.к. моя вспомогательная прога Dependency Walker также показала (как и терминал TSLab), что у Вашей DLL имеется таже самая проблема, что и у моей, т.е. отсутствуют те две вспомогательные DLL. И описание ошибки было слово в слово таким же. Я начинаю подозревать, что как раз именно в этих DLL вся проблема и кроется. Ведь абравиатура DLL (Dynamic Link Library) в переводе на русский язык дословно переводится как Динамически Компануемая Библиотека (библиотека функций, классов, объектов), хотя не сомневаюсь, что Вы это и без меня отлично знаете. Соответственно динамическая компановка DLL в ОС может происходить с другими DLL, и может образовываться достаточно сложное и ветвистое дерево подключаемых DLL. При этом, если хотя бы одна из вспомогательных DLL входящая в требуемое дерево подключаемых dll будет отсутствовать, или будет находится не в нужной директории, или просто будет не той версии, которой должна быть, то наша Главная и Конечная DLL окажется фактически пустой и абсолютно не работоспособной в конкретной ОС на конкретной машине, где это дерево окажется повреждённым. Тут всё зависит от сложности программных технологий, применяемых разработчиками ПО. Здесь в нашем случае, судя по тому, что мне показывает моя вспомогательная прога - Dependency Walker как раз и образуются такие сложные DLL со сложными и ветвистыми деревьями из других вспомогательных dll. Кстати, то что Вы пишете про необходимость строгого соответствия установленной версии frame work (что бы она была строго версии 3.5), как раз и означает требование формирования правильного и корректного дерева вспомогательных dll подключаемых к нашей Главной DLL. Когда я учился в МГУ приходилось писать достаточно сложные многомодульные проги, часть модулей писал на С++ (математику), а визуализацию в среде BlackBox на языке Компонентный паскаль, при этом механизм dll использовал как промежуточное звено между разными языками программирования. Вспомогательную программу Dependency walker применял для отслеживания изменения имён в механизме DLL (при экспорте/импорте нужных мне функций (модулей) из одного языка в другой язык происходит небольшое изменение имён). В одном из окошек проги Dependency walker приводится список всех функций, которые импортированы в рассматриваемую dll, и вот Ваша DLL - индикатор, как и мои dll, созданные в среде ШарпДевелоп на моей машине оказываются абсолютно пустыми, т.е. без списка импортируемых функций и к тому же с двумя ошибками. Я написал это не для того, что бы "блеснуть", НЕТ, не в коем случае, а просто что бы объяснить, что не первый год в программировании, что "в теме" и что простые варианты с кирилицей с самого начала исключал. К тому же, наверняка, у кого то также может возникнуть полностью аналогичная проблема и этот материал (наша с Вами переписка) может оказаться кому то полезным. Хотя про кирилицу это Вы грамотно написали, т.к. такое вообще говоря может произойти, конечно, у кого угодно. Так же скорее всего правильно Вы написали про несоответствие версии фрэймворка, т.е. несоответствия дерева вспомогательных dll. Только что мне делать, если это я тоже опробывал - переустанавливал всё ПО на предыдущие версии и чётко контролировал на вкладке Compiling в свойствах проекта значение параметра Target Framework (установлено в ".NET Fremework 3.5"). Т.е. соблюдал всё, что Вы мне и писали, но пока ни чего не помогло! Думаю, что надо каким то образом создать на моей машине дерево вспомогательных dll полностью аналогичное Вашему дереву, т.е. дереву установленному на Ваших машинах.
Отредактировано Physic (Thu Oct 13 2011 08:19 PM)
|
Наверх
|
|
|
|
#32140 - Thu Oct 13 2011 10:50 PM
Re: Использование TSLab API в SharpDevelop.
[Re: ViL]
|
newbie
Registered: Mon Oct 10 2011
Записи: 43
|
Dependency Walker не показывает заивсимость для dll NET, .т.к. они в другом формате. Ну хорошо, Вам наверное лучше знать, поскольку я не профессиональный программер и, действительно, каких то тонкостей в профессиональном программировании могу не знать. Вопрос в другом - что я должен сделать, что бы Ваша система (связка терминала TSLab со средой программирования SharpDevelop) работала бы и у меня на 100% ?
|
Наверх
|
|
|
|
#32142 - Fri Oct 14 2011 12:51 AM
Re: Использование TSLab API в SharpDevelop.
[Re: Physic]
|
writer
Registered: Sun Nov 21 2010
Записи: 428
|
Ух, скока букафф, хорошо в МГУ обучают. Наберитесь терпения и ищите простое решение. Если TSLab запускается и работает, то все необходимое для него имеется, включая фреймворк и системные DLL.
_________________________
Не пишите мне! Никому ничего делать не буду.
|
Наверх
|
|
|
|
#32149 - Fri Oct 14 2011 01:15 PM
Re: Использование TSLab API в SharpDevelop.
[Re: jhgjrht]
|
newbie
Registered: Mon Oct 10 2011
Записи: 43
|
Dependency Walker не показывает заивсимость для dll NET, .т.к. они в другом формате. Поговорил со своим другом - профессиональным программистом, он сказал, что Вы абсолютно правы. Он посмотрел Ваши и мои dll с помощью уже иной вспомогательной проги, зашёл ко мне на комп, и увидел, что всё установлено правильно и должно работать, соответственно через 3 минуты выяснилось, что всё работает. Наберитесь терпения и ищите простое решение. Если TSLab запускается и работает, то все необходимое для него имеется, включая фреймворк и системные DLL. ФУУУХ, теперь наконец то и у меня заработало, вернее даже - оказывается, у меня всё работало с самого начала. Короче Вы абсолютно правы - надо было искать простое решение. Вот только не смешно. Я потерял целую неделю из за совсем крошечной неточности в инструкции на первой странице. Я просто забыл в какой стране живу и как у нас люди пишут инструкции. А именно на первой странице написано по русски: "5.5. Заходим в программу TSLab в редактор шаблона и смотрим на закладку Пользовательские индикаторы:" Вот я соответственно на вкладке " Пользовательские индикаторы " и пытался найти индикаторы из своих dll. Так до конца жизни и не нашёл бы, если бы друг не подсказал. А кроме этого не значительного недостатка, инструкция, конечно, хорошая.
|
Наверх
|
|
|
|
#32150 - Fri Oct 14 2011 01:34 PM
Re: Использование TSLab API в SharpDevelop.
[Re: Physic]
|
member
Registered: Tue Jul 21 2009
Записи: 152
|
Не могли бы вы точно указать откуда взят текст про индикатор? В документации написано следующее: Теперь если в TSLab открыть Редактор графиков, то новый индикатор появится среди существующих типов Конвертора. http://www.tslab.ru/docs/online/connectapi.htmИ не могли бы вы пояснить в чем все же была проблема что бы мы могли поправить документацию если это требуется.
Отредактировано Denis (Fri Oct 14 2011 02:38 PM)
|
Наверх
|
|
|
|
|
|