在做IMAPI的東西的時候,需要用到CoCOM的東西,
然後他又需要使用ATL....總之很麻煩0rz
好了,重點就是在trace bug的時候跑到atlcom.h這個檔案裡面的
class CComObjectCached : public Base
{
public:
typedef Base _BaseClass;
CComObjectCached(void* = NULL){}
// Set refcount to -(LONG_MAX/2) to protect destruction and
// also catch mismatched Release in debug builds
// This will be made virtual again for Beta 2
/*virtual*/ ~CComObjectCached()
{
m_dwRef = -(LONG_MAX/2);
FinalRelease();
#ifdef _ATL_DEBUG_INTERFACES
_AtlDebugInterfacesModule.DeleteNonAddRefThunk(_GetRawUnknown());
#endif
}
//If InternalAddRef or InternalRelease is undefined then your class
//doesn't derive from CComObjectRoot
STDMETHOD_(ULONG, AddRef)() throw()
{
ULONG l = InternalAddRef();
if (l == 2)
_pAtlModule->Lock();
return l;
}
沒錯,就是_pAtlModule->Lock();這邊,然後你發現他記憶體位址居然是0x000000
然後就crash了!
不要相信甚麼add ATL support to MFC 之類的鬼話(加了以後我不知道怎麼刪掉,只能重寫)
解決方法:
在你的主程式(.cpp)裡面,
#include .......
//在這邊新增
CComModule _Module;
extern __declspec(selectany) CAtlModule* _pAtlModule=&_Module;
//新增完成
主程式:建構子....
主程式.....
這樣就可以解決了
END
2016年4月22日 星期五
2015年5月26日 星期二
[iOS]NSString & EXC_BAD_ACCESS ERROR solution
問題:
使用全域變數NSString *string,使用時候出現exc_BAD_ACCESS???
答案:
使用全域變數NSString *string,使用時候出現exc_BAD_ACCESS???
答案:
@property (nonatomic,retain)NSString *string;
不可以使用assign 要使用retain!
解決!
end
[iOS] Switch Case Error : switch case in protected scope
錯誤代碼:switch case in protected scope
解決方法:
case 1:
{
code....
}
break;
case 2:
{
code2....
}
break;
解決! end
解決方法:
case 1:
{
code....
}
break;
case 2:
{
code2....
}
break;
解決! end
2015年5月7日 星期四
[iOS] 改變文字顏色,無效?解決方式
在調整UI的時候常常需要改變顏色
可是使用[UIColor colorwithRed: green: blue: alpha: ]為什麼輸入數值都沒有反應呢?
錯誤示範:[UIColor colorwithRed: 24 green:116 blue:250 alpha:1 ]
正確示範:[UIColor colorWithRed:24.0f/255.0f green:116.0f/255.0f blue:205.0f/255.0f alpha:1.0f];
需要除以255而且他是float喔!
改完以後就會正確顯示顏色了,簡單但是不知道會弄很久的功能!
end
可是使用[UIColor colorwithRed: green: blue: alpha: ]為什麼輸入數值都沒有反應呢?
錯誤示範:[UIColor colorwithRed: 24 green:116 blue:250 alpha:1 ]
正確示範:[UIColor colorWithRed:24.0f/255.0f green:116.0f/255.0f blue:205.0f/255.0f alpha:1.0f];
需要除以255而且他是float喔!
改完以後就會正確顯示顏色了,簡單但是不知道會弄很久的功能!
end
2015年5月6日 星期三
[iOS] Xcode裡面xib檔內的物件改名後產生NSUnknowkeyException的錯誤解決方法
今天在做ios app的時候又發生了一個悲劇....
看到.h檔裡面的英文拼錯,於是就順手改一下...然後就error!!
找了很久以後,才發現錯誤出現在這邊------
看到.h檔裡面的英文拼錯,於是就順手改一下...然後就error!!
找了很久以後,才發現錯誤出現在這邊------
這邊是已經修改過的,如果錯誤的話應該會reference到兩個一個是拼錯字的
另一個才是正確的,我們需要把錯誤的按一下連線的那邊有個x,按下去以後就解除reference
這樣錯誤就修改完成囉!
End
訂閱:
文章 (Atom)