Гость
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Вызов функции из DLL / 5 сообщений из 5, страница 1 из 1
08.02.2020, 11:15
    #39924152
Cytrus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов функции из DLL
Привет.

Почему не получается вызвать DllImport из метода?



Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
using System;
using System.Runtime.InteropServices;
using System.Windows.Forms;
using System.Text;

public void Begin(IntPtr a){
C1.zzz(a);
}
public static class C1{
public void zzz(IntPtr a)
{
[DllImport("user32.dll",SetLastError=true,CharSet=CharSet.Unicode)]
public static extern IntPtr FindWindow(string lpClassName,string lpWindowName);
}
}
...
Рейтинг: 0 / 0
08.02.2020, 15:20
    #39924199
Сон Веры Павловны
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов функции из DLL
Cytrus
Почему не получается вызвать DllImport из метода?

1. Потому что приведенный код не скомпилируется.
2. Потому что DllImport нигде не вызывается.
3. Потому что DllImport невозможно вызвать - это не метод, а атрибут.
...
Рейтинг: 0 / 0
08.02.2020, 15:37
    #39924203
Cytrus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов функции из DLL
Сон Веры Павловны , это я просто подсократил код.
Моя задумка была вызывать метод по требованию.

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

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

Поместить эти dll-ки в память с помощью функции LoadLibrary.
Получить на них указатели, и работать.

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

Мне надо 50 функций из этой библиотеки.
Получается, что я должен загрузить в память одну и ту же библиотеку 50 раз?

А так, я бы получил поинтер, и раздавал бы его любым функциям из этой библиотеки.
Возможно такое?
...
Рейтинг: 0 / 0
08.02.2020, 16:31
    #39924218
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов функции из DLL
Cytrus
Когда эти вызовы находятся в классе, то они работают,
но если я пытаюсь их засунуть в метод, то не хотят
надо же ))
метод вне класса - такого в c# не бывает

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

Мне надо 50 функций из этой библиотеки.
Получается, что я должен загрузить в память одну и ту же библиотеку 50 раз?


dll загружается один раз, ничего делать специально не надо
...
Рейтинг: 0 / 0
08.02.2020, 17:06
    #39924229
Сон Веры Павловны
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вызов функции из DLL
Cytrus
это я просто подсократил код.

Выкинув из определения метода static, без которого код не скомпилируется?
Ну, и да, в чём заключается "не получается"?
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Вызов функции из DLL / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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