Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проект С++ в солюшене на С# 
:(
    Опции темы
Andrey44
Дата 27.10.2009, 11:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1501
Регистрация: 4.12.2006
Где: На работе

Репутация: нет
Всего: 26



Вобщем вопрос в следующем - Хочу окно с кнопочками написанное на С# и есть интерфейс в длл написаный на С++
есть *.h файл в котором оописан интерфейс например
Код

struct __declspec(..............) IXmlReader : public IUnknown
{
   virtual void GetStr(....)PURE;
}
extern "C"
{
bool CreateXmlReader(IXmlReader**);
}

Внимание вопрос! Как мне все это можно использовать в проекте на С#. То есть я хочу на нажатие кнопок использовать методы IXmlReader.
Как объявить IXmlReader, как его создать?


--------------------
????? ??, ??????? ?????.  smile 
PM MAIL WWW ICQ   Вверх
ILYA609
Дата 27.10.2009, 21:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 11.9.2009

Репутация: нет
Всего: нет



Объясню на примере:

Бибилиотека на С++, компилишь в DLL (TestLibrary.dll)

Код

#include "stdafx.h"
extern "C" __declspec(dllexport) double Calc(double a,double b)
        {
            return a+b;
        }


В шарпе пишешь:

Код

namespace Test
{
    class Program
    {
        [DllImport("TestLibrary.dll")] // Если dll лежит в той же папке что и exe'шник C#
        private static extern double Calc(double a, double b);
        
        static void Main()
        {
            double summ = Calc(2,3);
        }
    }

PM MAIL   Вверх
Andrey44
Дата 28.10.2009, 08:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1501
Регистрация: 4.12.2006
Где: На работе

Репутация: нет
Всего: 26



Код

namespace Test
{
    class Program
    {
        [DllImport("TestLibrary.dll")] // Если dll лежит в той же папке что и exe'шник C#
        private static extern bool CreateXmlReader(IXmlReader**);
        
        static void Main()
        {
            IXmlReader* xml;
            CreateXmlReader(&xml);
        }
    }

Окуда оно узнает что такое IXmlReader???


--------------------
????? ??, ??????? ?????.  smile 
PM MAIL WWW ICQ   Вверх
agapitPSG
Дата 30.10.2009, 07:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 19.8.2006

Репутация: нет
Всего: нет



Необходимо добавить референс на библиотеку.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0821 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.