BCB 调用动态库返回值是CBitmap类型
之前阿土的帖子也提到了类似问题
http://topic.csdn.net/u/20100812/21/96b6bc87-e7ac-4f0a-91da-4b5b1486bff6.html
最近我也遇到了同样的疑问
毛毛在贴中回复内容如下
动态库居然返回一个包装类,这种设计~~事件上返回一个HBITMAP就没问题了。
不说了,既然已经遇上了,偶的建议是先打开VC(要和编译这个DLL的VC一样的版本,编译参数也要尽量相同),用offsetof(CBitmap,m_hObject)取得m_hObject成员在CBitmap中的相对位置,如int offBmp = offsetof(CBitmap, m_hObject)。
然后用BCB,声明改成char* (GETPREVBITMAP)(HWND hwnd,int nBMPWIDTH,int nBMPHEIGHT);
取得这个char*指针后偏移offBmp就是HBITMAP了,接下来就好办鸟~~
我的疑问是需要把char*指针偏移offBmp后 直接(HBITMAP)转义后付给Bitmap->Handle吗?
但是测试了一下这样得到的Bitmap是空的
谁能具体解答下