powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Подключаемая библиотека не полностью работает
11 сообщений из 11, страница 1 из 1
Подключаемая библиотека не полностью работает
    #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
Подключаемая библиотека не полностью работает
    #38624210
ldar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ldar,
Видимо больно обширно описал небольшую проблему.
Видимо не правильно использую библиотеку, только где именно собака зарыта не пойму.
...
Рейтинг: 0 / 0
Подключаемая библиотека не полностью работает
    #38624250
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ldar,
Что тут не понятно? есть функции обращения к библиотеке в стиле PInvoke, есть обертки функций для этих PInvoke в стиле c#
это сделано для облегчения кода недопрограммистов , пользуйтесь обертками, не лезь те туда где не понимаете...
...
Рейтинг: 0 / 0
Подключаемая библиотека не полностью работает
    #38624301
ldar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Где-то в степи, в том то и дело, что не получается использовать эту обертку, в доке написано использовать
davePrepareReadRequest(dc, &p);
а в обертке
public PDU prepareReadRequest(){};
Как мне написать это код,если он не указан в обертке?
...
Рейтинг: 0 / 0
Подключаемая библиотека не полностью работает
    #38624349
Alex Kuznetsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ldarГде-то в степи, в том то и дело, что не получается использовать эту обертку, в доке написано использовать
davePrepareReadRequest(dc, &p);
а в обертке
public PDU prepareReadRequest(){};
Как мне написать это код,если он не указан в обертке?
Может всё-таки попытаться выполнить что-то типа такого:
Код: c#
1.
2.
3.
4.
  ...
   PDU pdu = prepareReadRequest();
   pdu.что-то там...
  ...



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


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


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