|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
05.10.2018, 18:18 | #1 |
Пользователь
Регистрация: 16.11.2013
Сообщений: 33
|
Обратиться к методу библиотеки DLL
Здравствуйте.
Имеется библиотека DLL, построенная в MATLAB. Данная библиотека содержит один метод с двумя параметрами. Если добавить данную библиотеку к проекту в папку Debug, то все работает отлично. Но мне необходимо, чтобы исполняемый .exe файл работал автономно (то есть можно было бы открыть на любом компьютере и использовать полностью функционал программы). Функция MATLAB, которая рисует графики: Код:
Из проекта на C# вызывал следующим образом: Код:
Но как подключить данную .dll библиотеку и как вызвать соответствующий метод в C# без добавления этой библиотеки в папку Debug приложения на C#? Пробовал таким способом - не работает: Код:
Спасибо. Последний раз редактировалось Alexey Smirnov; 05.10.2018 в 18:22. |
05.10.2018, 20:19 | #2 |
Пользователь
Регистрация: 16.11.2013
Сообщений: 33
|
Все время появляется следующее исключение:
Значение StartIndex не может быть меньше нуля. Имя параметра: startIndex |
05.10.2018, 20:29 | #3 |
Пользователь
Регистрация: 16.11.2013
Сообщений: 33
|
System.Reflection.TargetInvocationE xception не обработано
HResult=-2146232828 Message=Адресат вызова создал исключение. Source=mscorlib StackTrace: в System.RuntimeTypeHandle.CreateInst ance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck) в System.RuntimeType.CreateInstanceSl ow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark) в System.Activator.CreateInstance(Typ e type, Boolean nonPublic) в System.Activator.CreateInstance(Typ e type) в Project.MainWindow..ctor() в c:\Users\Алексей\Desktop\Project\Pr oject\Project\MainWindow.cs:строка 62 в Project.Program.Main() в c:\Users\Алексей\Desktop\Project\Pr oject\Project\Program.cs:строка 19 InnerException: System.TypeInitializationException HResult=-2146233036 Message=Инициализатор типа "MATLABAmplitudeSpectrum.AmplitudeS pectrumClass" выдал исключение. Source=MATLABAmplitudeSpectrum TypeName=MATLABAmplitudeSpectrum.Am plitudeSpectrumClass StackTrace: в MATLABAmplitudeSpectrum.AmplitudeSp ectrumClass..ctor() InnerException: System.ArgumentOutOfRangeException HResult=-2146233086 Message=Значение StartIndex не может быть меньше нуля. Имя параметра: startIndex Source=mscorlib ParamName=startIndex StackTrace: в System.String.Remove(Int32 startIndex, Int32 count) в MATLABAmplitudeSpectrum.AmplitudeSp ectrumClass..cctor() InnerException: |
05.10.2018, 21:46 | #4 |
Пользователь
Регистрация: 16.11.2013
Сообщений: 33
|
Код декомпилированного класса библиотеки:
Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как обратиться к методу класса по его имени? | ipdd | Общие вопросы Delphi | 16 | 22.02.2016 22:58 |
C# Как обратиться к методу из другой формы? | Таксист | Windows Forms | 2 | 24.12.2014 16:59 |
C# библиотеки .dll | s4egol | Помощь студентам | 0 | 14.09.2014 20:34 |
Как обратиться к методу потомку ? | [MI_nor] | Общие вопросы по Java, Java SE, Kotlin | 4 | 22.03.2011 08:13 |
Библиотеки Dll | ivanesky | Общие вопросы Delphi | 9 | 10.03.2008 10:42 |