- Učlanjen(a)
- 28.06.2005
- Poruke
- 10,877
- Poena
- 730
Moja oprema
- Pristup internetu
- Optički internet
Greska je:
Error 1 error C3767: 'OglPanelCtrl::OglPanelCtrlControl::SetGLGraphics': candidate function(s) not accessible d:\projects\demo001\demo001\Document.h 50
u OglPanelCtrl imam metodu:
public: void SetGLGraphics(IR2Graphics* g)
IR2Graphics je struktura definisana u unmanaged IR2Engine.h fajlu.
U document.h pozivam metodu SetGLGraphics(myGraphics) i dobijam gornju gresku.
Projekat izgleda ovako:
Uradjen je "engine" u unmanaged c++ i preveden kao DLL file. UI se radi u .NET 3.5 u c++ i koristi custom kontrolu (OglPanelCtrl) kojoj dajem na koriscenje pointer na neki objekat iz unmanaged dela programa. Ako napisem metodu koja prima proste tipove onda nema problema ali ako prima pointer na unmanaged tip onda nema sansi da se prevede. Ovakve stvari su u starijim verzijama .NET-a radile bez problema.
Za sada sam zakrpio na sledeci nacin:
public: void SetGLGraphics(void* p)
{
IR2Graphics* g = (IR2Graphics*)p;
...
}
i program se prevodi i radi.
Da li neko zna zasto gornji primer nece da se prevede?
Error 1 error C3767: 'OglPanelCtrl::OglPanelCtrlControl::SetGLGraphics': candidate function(s) not accessible d:\projects\demo001\demo001\Document.h 50
u OglPanelCtrl imam metodu:
public: void SetGLGraphics(IR2Graphics* g)
IR2Graphics je struktura definisana u unmanaged IR2Engine.h fajlu.
U document.h pozivam metodu SetGLGraphics(myGraphics) i dobijam gornju gresku.
Projekat izgleda ovako:
Uradjen je "engine" u unmanaged c++ i preveden kao DLL file. UI se radi u .NET 3.5 u c++ i koristi custom kontrolu (OglPanelCtrl) kojoj dajem na koriscenje pointer na neki objekat iz unmanaged dela programa. Ako napisem metodu koja prima proste tipove onda nema problema ali ako prima pointer na unmanaged tip onda nema sansi da se prevede. Ovakve stvari su u starijim verzijama .NET-a radile bez problema.
Za sada sam zakrpio na sledeci nacin:
public: void SetGLGraphics(void* p)
{
IR2Graphics* g = (IR2Graphics*)p;
...
}
i program se prevodi i radi.
Da li neko zna zasto gornji primer nece da se prevede?