C++ 在回调中更新数据

C++ 在回调中更新数据,c++,callback,c++builder,C++,Callback,C++builder,我正在尝试使用一些DLL通信,用C++builderxe开发一个应用程序。 在DLL中,我使用在myClass中实现的回调: myClass.h static void CALLBACK CallbackAsynchEvent(unsigned char* Data); myClass.cpp void CALLBACK CallbackAsynchEvent(unsigned char* Data) { // use Data to update a variable membre

我正在尝试使用一些
DLL
通信,用C++builderxe开发一个应用程序。 在DLL中,我使用在
myClass
中实现的回调:

myClass.h

static void CALLBACK CallbackAsynchEvent(unsigned char* Data);
myClass.cpp

    void CALLBACK CallbackAsynchEvent(unsigned char* Data)
{
// use Data to update a variable membre of myClass
}
当我尝试使用获得的数据更新
myClass
的对象XXXX时:“E2451未定义符号XXXX”


<>你能帮我找出问题吗?< /P> < P>我把C++方法封装成C回调API: 以下是他们需要帮助的示例:

void myClass::vDoSomething(unsigned char* Data)
{
   // work todo in the callback
}

void CALLBACK CallbackAsynchEvt(unsigned char* Data, void *ptT)
{
   static_cast<myClass*>(ptT)->vDoSomthing(Data);
}

// the function membre of myClass where the Pointer is passed:

Start(CallbackAsynchEvt, static_cast<void *>(this));
void myClass::vDoSomething(无符号字符*数据)
{
//在回调中处理待办事项
}
void回调CallbackAsynchEvt(未签名字符*数据,void*ptT)
{
静态广播(ptT)->视频广播(数据);
}
//传递指针的myClass的函数membre:
启动(CallbackAsynchEvt、static_cast(this));

您可能应该发布更多的代码,但可能您正在尝试访问myClass的非静态成员,这在静态函数中是无法实现的?我认为这就是问题所在。我相信解决方案是将C++方法封装到C回调API中。有人知道怎么做吗?