powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / managed объект в unmanaged классе
3 сообщений из 3, страница 1 из 1
managed объект в unmanaged классе
    #32312513
miniСЛОН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Возможно ли использование managed объекта в unmanaged классе? Тоесть:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
#using <mscorlib.dll>
#using <System.dll>
#using <System.Data.dll>
using namespace System;
using namespace System::Data;
using namespace System::Data::OleDb;

class test {
public:
  test();
private:
  OleDbConnection* Connection;
};

либо managed класса в unmanaged классе? VC.NET говорит нет.
Либо какими либо другими извращениями получить желаемое.
Приложение мультиоконное :) с архитектурой как это ни странно Document/View. Хочется, чтобы для каждого окна было бы несколько коннектов.

ps: жаль, что db-lib не плюсовый!!!?!
...
Рейтинг: 0 / 0
managed объект в unmanaged классе
    #32313441
на самом деле можно :)
изучи доку про gcroot:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
#include  "stdafx.h" 
#using <mscorlib.dll>
#include <vcclr.h>

using namespace System;

class A
{
public:
	A(char* text)
	{
		m_text = new String(text);
	}

	void print()
	{
		Console::Out->WriteLine(m_text);
	}

private:
	gcroot<String*> m_text;
};

int _tmain()
{
    A a( "Hello world!!!" );
    a.print();
    return  0 ;
}



А вообще, если нет большой нужды в сишном коде, или не нужна совместимость с существующим кодом, то настоятельно советую пользоваться C# - хотя бы потому, что гораздо приятнее работать.
...
Рейтинг: 0 / 0
managed объект в unmanaged классе
    #32744243
слышь
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Со стрингом-то проходит, а как нормальные люди работают с кнопочками там разными, чекбоксиками? Я попробовал

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
class CgcroottestDlg : public CDialog
{
public:
    CgcroottestDlg(CWnd* pParent = NULL);
     gcroot<System::Windows::Forms::CheckBox*> pCheck; 
    ...
}
CgcroottestDlg::CgcroottestDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CgcroottestDlg::IDD, pParent),   pCheck() 
{
     m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
BOOL Cgcroottest2Dlg::OnInitDialog()
{
     CDialog::OnInitDialog();

     //... и тут он мне при выполнении следующей строки
      this->pCheck->Location = System::Drawing::Point(40, 40); 
     // лепит  System.NullReferenceException 

     return TRUE;
}


Эх, мне бы примерчик.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / managed объект в unmanaged классе
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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