Keep getting access violation exceptions
This commit is contained in:
17
Instance.cpp
17
Instance.cpp
@@ -33,14 +33,15 @@ void Update(PROPGRIDITEM)
|
|||||||
|
|
||||||
void Instance::initProperties()
|
void Instance::initProperties()
|
||||||
{
|
{
|
||||||
::PROPGRIDITEM pItem;
|
PROPGRIDITEM * pItem = new PROPGRIDITEM();
|
||||||
pItem.lpszCatalog="Test";
|
pItem->lpszCatalog="Test";
|
||||||
pItem.lpszPropName="Offset";
|
pItem->lpszPropName="Offset";
|
||||||
pItem.lpszzCmbItems="What";
|
pItem->lpszzCmbItems="What";
|
||||||
pItem.lpszPropDesc="Description";
|
pItem->lpszPropDesc="Description";
|
||||||
pItem.lpCurValue=(LPARAM)"0, 0, 0";
|
pItem->lpCurValue=(LPARAM)"0, 0, 0";
|
||||||
pItem.iItemType=PIT_EDIT;
|
pItem->iItemType=PIT_EDIT;
|
||||||
properties.push_back(Property(pItem, Update));
|
PropGrid_ItemInit((*pItem));
|
||||||
|
properties.push_back(new Property(pItem, Update));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
class Instance
|
class Instance
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
std::vector<Property> properties;
|
std::vector<Property *> properties;
|
||||||
Instance(void);
|
Instance(void);
|
||||||
Instance(const Instance&);
|
Instance(const Instance&);
|
||||||
virtual ~Instance(void);
|
virtual ~Instance(void);
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#include "Property.h"
|
#include "Property.h"
|
||||||
|
|
||||||
Property::Property(PROPGRIDITEM item, void(*onPropUpdate)(PROPGRIDITEM))
|
Property::Property(PROPGRIDITEM * item, void(*onPropUpdate)(PROPGRIDITEM))
|
||||||
{
|
{
|
||||||
this->callbackFuncOnChange = onPropUpdate;
|
this->callbackFuncOnChange = onPropUpdate;
|
||||||
this->item = item;
|
this->item = item;
|
||||||
@@ -8,6 +8,7 @@ Property::Property(PROPGRIDITEM item, void(*onPropUpdate)(PROPGRIDITEM))
|
|||||||
|
|
||||||
Property::~Property(void)
|
Property::~Property(void)
|
||||||
{
|
{
|
||||||
|
delete item;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Property::updateProperty(PROPGRIDITEM item)
|
void Property::updateProperty(PROPGRIDITEM item)
|
||||||
|
|||||||
@@ -5,8 +5,8 @@ class Property
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
void(*callbackFuncOnChange)(PROPGRIDITEM);
|
void(*callbackFuncOnChange)(PROPGRIDITEM);
|
||||||
PROPGRIDITEM item;
|
PROPGRIDITEM * item;
|
||||||
Property(PROPGRIDITEM item, void(*onPropUpdate)(PROPGRIDITEM));
|
Property(PROPGRIDITEM * item, void(*onPropUpdate)(PROPGRIDITEM));
|
||||||
~Property(void);
|
~Property(void);
|
||||||
void updateProperty(PROPGRIDITEM);
|
void updateProperty(PROPGRIDITEM);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -111,10 +111,10 @@ void PropertyWindow::_redraw()
|
|||||||
|
|
||||||
void PropertyWindow::SetProperties(Instance * instance)
|
void PropertyWindow::SetProperties(Instance * instance)
|
||||||
{
|
{
|
||||||
PropGrid_ResetContent(_propGrid);
|
//PropGrid_ResetContent(_propGrid);
|
||||||
for(size_t i = 0; i < instance->properties.size(); i++)
|
for(size_t i = 0; i < instance->properties.size(); i++)
|
||||||
{
|
{
|
||||||
PropGrid_AddItem(_propGrid, &instance->properties.at(i));
|
PropGrid_AddItem(_propGrid, instance->properties.at(i)->item);
|
||||||
}
|
}
|
||||||
SetWindowLongPtr(_propGrid,GWL_USERDATA,(LONG)this);
|
SetWindowLongPtr(_propGrid,GWL_USERDATA,(LONG)this);
|
||||||
_redraw();
|
_redraw();
|
||||||
|
|||||||
Reference in New Issue
Block a user