- 旧一篇: Mac OS X Programming读书笔记1 - 系统架构
Refer Mac OS architecture - 新一篇: Mac OS X Programming读书笔记2 - HelloWorld
How to write Hello world - 新一篇: Mac OS X Programming读书笔记3 - 事件处理
- Mac OS X - 維基百科,自由的百科全書
Wiki - Learn C with Project Builder
IDE under MAC OS X - Creating Mac OS X applications with MS Visual Studio Express
Using open source project Mono framework to implement MAC OS X application via VC++. - Xcode home page
Another IDE for MAC OS X.
QuickTime.qts 導致的程式執行錯誤,並且無法順利移除Quicktime (QuickTime.qts cause app crash and could not uninstall quicktime)
VC++程式設計, 學習文件 No Comments »
最近在做結婚光碟的時候,發現製作光碟的UVS(Ulead Video Studio) 一直無法正常的執行。由於我自己就是做這行的,於是直接下去看整個crash call stack。發現CRASH 在一開始~~~整個在initialized filter 的時候死在 (Quicktime.qts)。
經過許多文章裡面的尋找
這幾篇的文章都提到~ 要先將Quicktime.qts 移除,我就直接把 C:\Windows\System32\Quicktime.qts 移除
結果發現無法改善~~~~ 並且我無法順利的移除Quicktime(Uninstall Quicktime)
後來我發現~~ 因為我有裝一套Storm player 而這次有問題的Quicktime.qts 是在 那個目錄裡面的~~~~~
所以我想到正確的解法是~~~
- 尋找Quicktime.qts (Find out all Quicktime.qts)
- 將它改名字 (Rename it)
- 移除 Quicktime (uninstall quicktime)
- 重新安裝一次 (reinstall again)
這樣果然就成功了!!!!!
CPAN 錯誤 –Can’t use string ("CPAN::Tarzip") as a HASH ref while "strict refs" in use at /usr/lib/perl5/5.8.5/CPAN/Tarzip.pm
VC++程式設計, 關於MT的學習心得 No Comments »由”台北小黑豬的部落格“GOOLE 的備份過來~
Can’t use string (”CPAN::Tarzip”) as a HASH ref while “strict refs” in use at /usr/lib/perl5/5.8.5/CPAN/Tarzip.pm
在今天試著在redhat as4 安裝amavis 時
安裝一些amavisd 必要的module
發現在做某些更新時出現
Can’t use string (”CPAN::Tarzip”) as a HASH ref while “strict refs” in use at /usr/lib/perl5/5.8.5/CPAN/Tarzip.pm line 94.
我試著
reload index
reload cpan
exit 再進入無效
後來在eflo.net
提到要
install mysql-server mysql mysql-devel php-mysql php-devel (for php-eaccelerator)
vi /etc/php.ini
press w to search for memory_limit make it to 48m
then install cpan
檢視後有安裝上敘提到的套件
於是我去檢視/etc/php.ini
default 為8m
改成48m
後
再進行安裝 似乎就沒有問題了

Perl2EXE is a very useful program when you try to translate your PERL code to a execute file without PERL environment.
There should be noted if you happen the same problem.
- Active PERL need install:
Although we try to use Perl2EXE to translate PERL to execute file. We still need PERL runtime environment in the compiler machine. (Don’t need for running machine). - Make sure Active PERL version is pair with your Perl2EXE
For example if you use Perl2Exe V7.02 for Win32 , you must use Perl 5.8.0, Perl 5.6.1, Perl 5.6.0 and Perl 5.005 which Active PERL version is ActivePerl Perl 5.8.0 Build 806. Or you may get error as follow:
C:\p2x-8.60-Win32>perl2exe.exe sample.pl
Perl2Exe V8.60 Copyright (c) 1997-2005 IndigoSTAR Software
Registered to evan:kkdai:20080010, ENT version
Converting ’sample.pl’ to sample.exe
C:\p2x-8.60-Win32>
Which I use Perl2EXE V8.8 but I don’t have Active Perl 5.88
After I switch to Perl2EXE V8.6 and using Active PERL 5.86. It work as follows:
C:\p2x-8.60-Win32>perl2exe.exe sample.pl
Perl2Exe V8.60 Copyright (c) 1997-2005 IndigoSTAR Software
Registered to evan:kkdai:20080010, ENT version
Converting ’sample.pl’ to sample.exe
C:\p2x-8.60-Win32>

(Application Picker dialog from XP)
Application Picker is a dialog which will show-up when you insert DVD title or new medium in your computer. It show all playable application and let you to choose one from the list.
One day, I just woundering where can I find the setting? How could I change the autoplay icon? How could change the autoplay string?
Here is the detail document from MSDN: Preparing Hardware and Software for Use with AutoPlay
In follows steps, I will show you how to use “REGEDIT.EXE” to find out the setting and how it work.
![]()
Use VC8 (Visual Studio 2005) to create project is more easy than VC6(VC98), but however we may not CoInitialize ATL service as well. It always happen failed since you use your API to CoInitialize this service. But it iswork if you use VC6 to create the ATL service. The root cause is the sercurity issue as follow:
http://msdn2.microsoft.com/en-us/library/xe2dxx5c(VS.80).aspx
class CATL_SERVERModule : public CAtlServiceModuleT< CATL_SERVERModule, IDS_SERVICENAME > { public : DECLARE_LIBID(LIBID_ATL_SERVERLib) DECLARE_REGISTRY_APPID_RESOURCEID(IDR_ATL_SERVER, “{C08654FF-A0F1-4CFD-8A09-93D4768BCF14}”) HRESULT InitializeSecurity() throw() { // TODO : Call CoInitializeSecurity and provide the appropriate security settings for // your service // Suggested - PKT Level Authentication, // Impersonation Level of RPC_C_IMP_LEVEL_IDENTIFY // and an appropiate Non NULL Security Descriptor. return S_OK; } };
The problem is VC8 move the the security implement the base-class and you at-least implement one security check in this section of code. The easy way to implement it is copy code from VC6 as follow:
// TODO : Call CoInitializeSecurity and provide the appropriate security settings for
// your service
// Suggested - PKT Level Authentication,
// Impersonation Level of RPC_C_IMP_LEVEL_IDENTIFY
// and an appropiate Non NULL Security Descriptor.
// This provides a NULL DACL which will allow access to everyone.
CSecurityDescriptor sd;
sd.InitializeFromThreadToken();
hr = CoInitializeSecurity(sd, -1, NULL, NULL,
RPC_C_AUTHN_LEVEL_PKT, RPC_C_IMP_LEVEL_IMPERSONATE, NULL, EOAC_NONE, NULL);
return S_OK;
Powered by Zoundry
DllRegisterServer/DllUnregisterServer failed in 0×80029C4A (TYPE_E_CANTLOADLIBRARY)
VC++程式設計 No Comments »
SYMPTOMS
When you try to register or unregister a COM server, it will pop failed in 0×80029C4A (TYPE_E_CANTLOADLIBRARY).
CAUSE
This is cuase by no TLB or missing TLB of this COM DLL.
RESOLUTION
If your COM DLL is builded using /notlb. remember use
CComModule::RgisterServer(FALSE);
CComModule::DllUnregisterServer(FALSE);
otherwise, please make sure your TLB is well for register.
REFERENCE

(圖片來源: 悅仕網路書店)
|
書 名:
|
DirectShow開發指南 |
| I S B N : | 7-302-07650-2 |
|
出 版 社 :
|
北京科海電子出版社 |
|
裝 訂:
|
16開 平裝 黑白 |
|
隨書光碟:
|
0CD |
|
書本頁數:
|
368 頁 |
推薦原因: 對於整個DirectShow 有完整的說明,原作者陸齊明為微軟的MVP,對於整個DirectX有完整的了解,對於要處理影像問題的人這本是一本不可或缺的基本書籍。

(圖片來源: 悅仕網路書店)
|
書 名:
|
DirectShow實務精選 |
| I S B N : | 7-03-013654-3 |
|
出 版 社 :
|
北京科海電子出版社 |
|
裝 訂:
|
16開 平裝 黑白 |
|
隨書光碟:
|
1 |
|
書本頁數:
|
471 頁 |
推薦原因: 同為微軟MVP陸齊明的作品,這本書偏向於實務,舉凡DVD播放、Filter的製作都有相當好的範例~裡面的範例光碟可以讓你有快速的應用與了解。

(圖片來源: 悅仕網路書店)
|
書 名:
|
Windows Media編程導向 |
| I S B N : | 7-302-10944-3 |
|
出 版 社 :
|
北京科海電子出版社 |
|
裝 訂:
|
16開 平裝 黑白 |
|
隨書光碟:
|
1CD |
|
書本頁數:
|
309 頁 |
推薦原因: 這本書我已經購買了,但是由於書還沒有拿到只能說陸齊明的作品我並不想錯過~~。

(圖片來源: 博客來網路書店)
COM本質論
作者:侯俊傑
出版社:碁峰
出版日期:1999 年 03 月 15 日
語言別:繁體中文
推薦原因: 涵蓋了所有COM的核心概念~所有學習COM的人都應該要好好的學習。

(圖片來源: 天瓏網路書店)
Windows 程式設計使用 MFC (Programming Windows with MFC, 2/e)
|
ISBN :
|
9861252983 |
|
出版商 :
|
文魁 |
|
出版日期 :
|
2004-08-14 |
|
上架日期 :
|
2004-08-14 |
推薦原因: 學習Windows Programming的第一本書,可以讓你對於視窗程式設計有基礎的概念。也可以讓你對於COM有一定的了解與應用。
From XP-SP2. the firewall setting default will block all app connection except user approval. So, you can approve every app you want to execute and let it work correctly under XP-SP2 (also in Vista).
But if your appllication is a Window Services? How it work under Microsoft firewall ?
It will be blocked the communication automatically!!
Yes, ~~ if your app is a P2P window services, you will find it doesn’t work when the service is work, even you never get a assert dialog box.
How do workaround with firewall, if my application is a Window Service?
Use "Netsh" to change your firewall setting. For example if you want to enable specific app "fooAPP.exe".
netsh firewall add allowedprogram "c:\fooAPP\fooAPP.exe" fooAPP ENABLE
if you want to disable a APP from firewall.
netsh firewall delete allowedprogram "c:\fooAPP\fooAPP.exe"
Recent Comments