Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Подключаемая библиотека не полностью работает / 11 сообщений из 11, страница 1 из 1
24.04.2014, 09:42
    #38624012
ldar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключаемая библиотека не полностью работает
Здравствуйте.
Пытаюсь работать с библиотекой libnodave
Суть библиотеки опрашивать удаленный контроллер фирмы Siemens. Сразу скажу, проблема у меня не в опросе контроллера, а в использовании кода этой библиотеки. Видимо не хватает познаний.
Подключил dll, так же с ним шел файл libnodave.net.cs, написал простенький пример который приводится в документации, работает.
Начал немного усложнять
В доке пишется что нужно использовать методы
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
PDU p;
    daveResultSet rs;
    davePrepareReadRequest(dc, &p);
    daveAddVarToReadRequest(&p,daveInputs,0,0,1);
    daveAddVarToReadRequest(&p,daveFlags,0,0,4);
    daveAddVarToReadRequest(&p,daveDB,6,20,2);
    daveAddVarToReadRequest(&p,daveFlags,0,12,2);
    res=daveExecReadRequest(dc, &p, &rs);



Только при наборе в VS 2012, к примеру метод davePrepareReadRequest(dc, &p) интеллисенс ничего не выдает, типа нет этого метода. Начинаю копаться в файле libnodave.net.cs, который шел вместе с библиотекой, в нем есть вот такой код

Код: c#
1.
2.
3.
4.
5.
6.
7.
[DllImport("libnodave.dll"/*, PreserveSig=false */ )]
    protected static extern int davePrepareReadRequest(IntPtr dc, IntPtr p);
    public PDU prepareReadRequest() {
        PDU p=new PDU();
        davePrepareReadRequest(pointer, p.pointer);
        return p;
    }


Вроде как прописан prepareReadRequest() , но с другим синтаксисом, здесь он возвращает PDU и не принимает аргументы. Как это понять?
Прикладываю этот простенький пример СкачатьConsoleApplication11.rar
Подскажите хотя бы в каком направлении двигаться, а то я в ступоре.
Спасибо.
...
Рейтинг: 0 / 0
24.04.2014, 11:26
    #38624210
ldar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключаемая библиотека не полностью работает
ldar,
Видимо больно обширно описал небольшую проблему.
Видимо не правильно использую библиотеку, только где именно собака зарыта не пойму.
...
Рейтинг: 0 / 0
24.04.2014, 11:47
    #38624250
Где-то в степи
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключаемая библиотека не полностью работает
ldar,
Что тут не понятно? есть функции обращения к библиотеке в стиле PInvoke, есть обертки функций для этих PInvoke в стиле c#
это сделано для облегчения кода недопрограммистов , пользуйтесь обертками, не лезь те туда где не понимаете...
...
Рейтинг: 0 / 0
24.04.2014, 12:05
    #38624301
ldar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключаемая библиотека не полностью работает
Где-то в степи, в том то и дело, что не получается использовать эту обертку, в доке написано использовать
davePrepareReadRequest(dc, &p);
а в обертке
public PDU prepareReadRequest(){};
Как мне написать это код,если он не указан в обертке?
...
Рейтинг: 0 / 0
24.04.2014, 12:23
    #38624349
Alex Kuznetsov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключаемая библиотека не полностью работает
ldarГде-то в степи, в том то и дело, что не получается использовать эту обертку, в доке написано использовать
davePrepareReadRequest(dc, &p);
а в обертке
public PDU prepareReadRequest(){};
Как мне написать это код,если он не указан в обертке?
Может всё-таки попытаться выполнить что-то типа такого:
Код: c#
1.
2.
3.
4.
  ...
   PDU pdu = prepareReadRequest();
   pdu.что-то там...
  ...



PS. Про эту библиотеку нифига не знаю, просто смотрю на то, что делает функция...
...
Рейтинг: 0 / 0
24.04.2014, 12:38
    #38624392
Где-то в степи
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключаемая библиотека не полностью работает
ldar,
написано правильно, смотрю на код в обертке
public PDU prepareReadRequest() {
PDU p=new PDU();
davePrepareReadRequest(pointer, p.pointer);
return p;
}
pointer заныривает в функцию не из параметров, значит используется тип провайдер, для всей этой лабуды
davePrepareReadRequest защищена, за какое место ее дергать снаружи?, тем более для нее есть обертка которая торчит наружу
тут все в общем то разумно и правильно сделано.
Вам просто надо вернуться к истокам ООП ( это как бы не в западло даже для гуру) и разобраться с взаимодействием с девайсом..
...
Рейтинг: 0 / 0
24.04.2014, 13:05
    #38624457
ldar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключаемая библиотека не полностью работает
Alex Kuznetsov,
пробовал, безуспешно. Видимо я еще слишком мало знаю о C#.
...
Рейтинг: 0 / 0
24.04.2014, 13:08
    #38624467
ldar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключаемая библиотека не полностью работает
Где-то в степиза какое место ее дергать снаружи?, тем более для нее есть обертка которая торчит наружу
тут все в общем то разумно и правильно сделано.


Все таки за какое место ее дергать?
Где-то в степиВам просто надо вернуться к истокам ООП ( это как бы не в западло даже для гуру) и разобраться с взаимодействием с девайсом..
С удовольствием, только к какой теме ООП это относится?
...
Рейтинг: 0 / 0
24.04.2014, 13:13
    #38624479
Alex Kuznetsov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключаемая библиотека не полностью работает
ldarAlex Kuznetsov,
пробовал, безуспешно. Видимо я еще слишком мало знаю о C#.
Тогда весь код того как пробовали в студию.
А то хрустальные шары у нас дома остались
...
Рейтинг: 0 / 0
24.04.2014, 16:29
    #38624904
ldar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключаемая библиотека не полностью работает
Все, разобрался. Причина, моя не внимательность...Все было очень просто, я не заметил, что эти методы принадлежат другому классу.
А в документации скорей всего пример приведен для другого ЯП.
Спасибо всем и извиняюсь, что отнял ваше время из за пустяка.
...
Рейтинг: 0 / 0
24.04.2014, 18:59
    #38625066
Alex Kuznetsov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подключаемая библиотека не полностью работает
ldarВсе, разобрался. Причина, моя не внимательность...Все было очень просто, я не заметил, что эти методы принадлежат другому классу.
А в документации скорей всего пример приведен для другого ЯП.
Спасибо всем и извиняюсь, что отнял ваше время из за пустяка.Коль скоро приводился пример вызова функций непосредственно из DLL, а не из ".NET обёртки", то по всей видимости пример был на С/С++ ...
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Подключаемая библиотека не полностью работает / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]