首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

bcb6升级2010有关问题

2012-03-20 
bcb6升级2010问题我原先工程调用动态库的代码编译不过去了。具体如下HINSTANCE h1HANDLE __stdcall (*Open

bcb6升级2010问题
我原先工程调用动态库的代码编译不过去了。具体如下

HINSTANCE h1;

HANDLE __stdcall (*Open_Com)(int port, int baud, int data, int parity, int stop);

void __fastcall TForm1::FormCreate(TObject *Sender)
{
AnsiString s = GetCurrentDir() + "\\CJ201api.dll";
  h1 = LoadLibrary(s.c_str());
  if( h1 == NULL )
  {
  Memo1->Lines->Add("Load CJ201api.dll failed");
  return;
  }
  else
  {
  Memo1->Lines->Add("Load CJ201api.dll successed!");
  }
  (void *)Open_Com = (void *)GetProcAddress(h1,"Open_Com");
}

(void *)Open_Com = (void *)GetProcAddress(h1,"Open_Com"); 这语句报错,[BCC32 Error] Unit1.cpp(53): E2277 Lvalue required

[解决办法]
可以编译过去,这是我的完整代码

C/C++ code
void __fastcall TForm8::Button1Click(TObject *Sender){HINSTANCE h1;typedef HANDLE __stdcall myOpen_Com (int port, int baud, int data, int parity, int stop);myOpen_Com * Open_Com;AnsiString s = GetCurrentDir() + "\\CJ201api.dll";  h1 = LoadLibrary(s.c_str());  if( h1 == NULL )  {//  Memo1->Lines->Add("Load CJ201api.dll failed");  return;  }  else  {//  Memo1->Lines->Add("Load CJ201api.dll successed!");  }  Open_Com = (myOpen_Com *)GetProcAddress(h1,"Open_Com");  HANDLE dev;   dev = Open_Com( 1,9600,8,0,0 );} 

热点排行