Форум программистов, компьютерный форум, киберфорум
Наши страницы

Не могу вытащить string из управляемого кода - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Загрузка dll: идентификатор не найден http://www.cyberforum.ru/cpp-beginners/thread234701.html
Глобальная задача: нужно сделать программу, работающую с т.н. LCard: ЦАП/АЦП, цепляющуюся на PCI. На сайте производителя есть дрова, в поставке которых идёт и dll: lcomp.dll с основными функциями...
C++ Покритикуйте код финкции нахождения интеграла typedef double(*tfunc)(double); double integral(double start, end, func f, double dx) { double left, right, result; for (x=start, right=start; right<end; left=right) { right=left+dx; if... http://www.cyberforum.ru/cpp-beginners/thread234688.html
C++ Проверить, является ли введенная с клавиатуры строка двоичным числом
Написать программу, которая проверяет, является ли введенная с клавиатуры строка двоичным числом. #include <iostream> int main() { setlocale(LC_ALL, "Russian"); char s; int a = 0;...
Как доделать? C++
Дано: число и функция f. Требуется найти: производную по x функции f в точке x. Есть наглядное пособие, как делать не надо typedef double(*tfunc)(double); double derivative(double x, func f,...
C++ Отсортировать ноутбуки по объему RAM http://www.cyberforum.ru/cpp-beginners/thread234674.html
В элементе списка содержатся данные о ноутбуке: *наименование; *цена; *тактовая частота процессора; *размер ОП. Создать второй список, в котором все элементы упорядочены по возрастанию размера...
C++ Поиск информации в файле и ее вывод Привет. Создан текстовый файл, в котором содержится информация о марках автомобилей. Выводить все данные на форму по запросу и в виде списка. #include "stdafx.h" #include <iostream> #include... подробнее

Показать сообщение отдельно
sect0id
0 / 0 / 0
Регистрация: 01.10.2010
Сообщений: 12

Не могу вытащить string из управляемого кода - C++

27.01.2011, 16:21. Просмотров 506. Ответов 2
Метки (Все метки)

Здравствуйте! столкнулся с проблемой вытаскивания строки из c# в с++...

есть код на c#
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
namespace MyInterop
{
  public interface IMyDotNetInterface2
    {
        int Add(int Number1, int Number2);
        [return: MarshalAs(UnmanagedType.BStr)] string say();
      
   public class MyDotNetClass : IMyDotNetInterface2
    {
 
        public string say()
        {
            return "OK";
        }
 
        public int Add(int Number1,int Number2)
            {
                return Number1+Number2;
            }
    }
   }
}
не могу вытащить "OK" из функции say();
пробовал так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
myfunc(){
        CoInitialize(NULL); 
    MyInterop::IMyDotNetInterface2Ptr pDotNetCOMPtr2(__uuidof(MyDotNetClass));
 
        long lResult = 0;
        pDotNetCOMPtr2->Add(5,10, &lResult);
    myfile<<"\nCOM5="<<lResult; //тут всё ок
 
        BSTR test_lResult = SysAllocString(L"");
        pDotNetCOMPtr2->say(&test_lResult);
        myfile<<"\nCOM6="<<test_lResult; //тут выводит "00070F84"
}
подскажите пожалуйста как вытащить string? буду очень благодарен, спасибо.

Добавлено через 3 часа 20 минут
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru