Работа с Dll Visual Studio C++

Тема в разделе ".NET", создана пользователем Ramzay, 6 мар 2007.

  1. Ramzay

    Ramzay Гость

    Пытаюсь загрузить функцию из dll.
    Когда упртр*цензура*ю такие слова как HINSTANCE, GetProcAddress, LoadLibrary
    компилятор говорит , что не знает таких типов и функций.

    Почему?
     
  2. Ramzay

    Ramzay Гость

    Это где же такое посмотреть, и каким оно должно быть?
     
  3. Ramzay

    Ramzay Гость

    на [DllImport("KERNEL32.DLL",EntryPoint="MoveFileW"...

    компилятор отвечает 'DllImport' : attribute not found

    Тоже самое он отвечает на [ComVisibleAttribute(true)]

    Что делать дальше?
     
  4. Ramzay

    Ramzay Гость

    Если я не ошибаюсь, [DllImport ... используется для вызова DLL в C#.

    Мне нужно вызвать DLL в С++.

    Кто-нибудь может помочь?
     
  5. Ramzay

    Ramzay Гость

    Ругаться, мой друг, не надо. Если хочешь помочь - помогай. За ссылку спасибо, разобрался.
    Проблема была в этом:

    using namespace System::Runtime::InteropServices;
     
  6. Ninetta

    Ninetta Гость

    Ramzay, не могли бы вы написать тут, как вы подключаете DLL?
    я пытаюсь так:

    static HINSTANCE hinstDLL;
    hinstDLL = LoadLibrary((LPCTSTR) "NeuroSvr.dll.embed.manifest");

    но у меня не получается, в чем ошибка?
     
  7. Ramzay

    Ramzay Гость

    Мне вызвать функцию из dll удалась без использования LoadLibrary.
    Вот часть кода, которая выполняется при вызове функции Hr(String, String) из модуля hr_main.dll
    [codebox]
    [DllImport("hr_main.dll")]
    static extern int hr(String text, String caption); // описание функции, которая находится в Dll
    private void button6_Click(object sender, EventArgs e)
    {
    String par = "Type="
    + dataGrid1.Rows[dataGrid1.CurrentRow.Index].Cells[0].Value.ToString().Trim()
    + "~~Rnk="
    + dataGrid1.Rows[dataGrid1.CurrentRow.Index].Cells[1].Value.ToString().Trim();// Параметр функции
    String Prg = "M:\\UIT\\documents\\DOG\\KL-Bank\\Scrooge\\cli_bank.hrt"; // Параметр функции

    hr(Prg, par); // Вызов функции, которая находится в dll
    }
    [/codebox]

    Кроме этого, в начале файла cs должна быть строка:
    [codebox]
    using System.Runtime.InteropServices;
    [/codebox]

    Именно из-за этой строки мне и не удавлось вызвать dll. Давно это было, но работает до сих пор.
     
Загрузка...
Похожие Темы - Работа Dll Visual
  1. Shouldercannon
    Ответов:
    2
    Просмотров:
    2.152
  2. Paume
    Ответов:
    6
    Просмотров:
    3.773
  3. gorlanovmax
    Ответов:
    3
    Просмотров:
    8.475
  4. Andrey Kha
    Ответов:
    0
    Просмотров:
    20
  5. Hoasker
    Ответов:
    0
    Просмотров:
    64

Поделиться этой страницей