Some article about development application under Mac OS X

Vista學習心得, VC++程式設計 No Comments »
  1.  旧一篇: Mac OS X Programming读书笔记1 - 系统架构
    Refer Mac OS architecture
  2.  新一篇: Mac OS X Programming读书笔记2 - HelloWorld
    How to write Hello world
  3.  新一篇: Mac OS X Programming读书笔记3 - 事件处理 
  4.  Mac OS X - 維基百科,自由的百科全書
    Wiki
  5.  Learn C with Project Builder
    IDE under MAC OS X
  6.  Creating Mac OS X applications with MS Visual Studio Express
    Using open source project Mono framework to implement MAC OS X application via VC++.
  7.  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 »

Inside QuickTime

 

最近在做結婚光碟的時候,發現製作光碟的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 是在 那個目錄裡面的~~~~~

 

 

所以我想到正確的解法是~~~

  1. 尋找Quicktime.qts (Find out all Quicktime.qts)
  2. 將它改名字 (Rename it)
  3. 移除 Quicktime (uninstall quicktime)
  4. 重新安裝一次 (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

再進行安裝 似乎就沒有問題了

Direct3D10 和 Direct3D9 的版本

VC++程式設計 No Comments »

Direct3D 10

Version End-User
Redistributable
SDK SymbolFiles dxsdkver.h*1
Direct3D 10 (June 2007) O O O 9.19.1005
Direct3D 10 (April 2007) O O O 9.18.944
Direct3D 10 (February 2007) O O O 9.17.892
Direct3D 10 (December 2006) O O O 0×1002 / 1000
Direct3D 10 (October 2006) O O O 0×1002 / 1000
Direct3D 10 (August 2006) *2 O O O 0×1002 / 1000
Direct3D 10 (June 2006) O O O 0×1002 / 1000
Direct3D 10 (April 2006) O O O 0×1002 / 1000
Direct3D 10 (February 2006) O O O 0×1002 / 1000
Direct3D 10 (December 2005) *3 *4 O O O 0×1002 / 1000

DirectX 9.0c - End-User EULAs

Version Release
Notes
End-User
Redistributable
SDK Symbol
Files
Extras d3dx9core.h
*5
Direct3D 10.0 (June 2007) X O O O X 0×0902 / 34
Direct3D 10.0 (April 2007) *6 X O O O X 0×0902 / 33
Direct3D 10 (February 2007) X O O O X 0×0902 / 32
Direct3D 10 (December 2006) X O O O X 0×0902 / 32
Direct3D 10 (October 2006) *7 X O O O X 0×0902 / 31
Direct3D 10 (August 2006) X O O O X 0×0902 / 30
Direct3D 10 (June 2006) X O O O X 0×0902 / 30
Direct3D 10 (April 2006) X O O O X 0×0902 / 30
Direct3D 10 (February 2006) X O O O X 0×0902 / 29
Direct3D 10 (December 2005) *8 X O O O X 0×0902 / 28
DirectX 9.0 Update (October 2005) X O O O X 0×0902 / 27
DirectX 9.0 Update (August 2005) X O O O X 0×0902 / 27
DirectX 9.0 Update (June 2005) X O O O X 0×0902 / 26
DirectX 9.0 Update (April 2005) X O O O X 0×0902 / 25
DirectX 9.0 Update (February 2005) O O O O O 0×0902 / 24
DirectX 9.0 Update (December 2004) O O O O O 0×0902 / 23
DirectX 9.0 Update (October 2004) O O O O O 0×0902 / 22
DirectX 9.0 Update (Summer 2004) O O O O O 0×0902 / 22
DirectX 9.0 Update (Summer 2003) O X O X O 0×0901 / 21

OSの対応状況

OS 対応開始 対応終了
Windows 2000 DirectX 7.0 SDK DirectX 9.0 Update (April 2005)
Windows XP DirectX 8.1b SDK  
Windows Server 2003*9 DirectX 9.0b SDK  
Windows XP Professional x64 Edition DirectX 9.0 Update (February 2005)  
Windows Vista Direct3D 10 (December 2006)  
DirectX SDK Version Release Build Debug Build *10
Direct3D 10 (June 2007) d3dx10_34.dll d3dx10d_34.dll
Direct3D 10 (April 2007) d3dx10_33.dll d3dx10d_33.dll
Direct3D 10 (February 2007)
Direct3D 10 (December 2006)
StaticLinkLibraryなので外部依存なし d3dx10d.dll
DirectX SDK Version Release Build Debug Build *11
Direct3D 10 (June 2007) d3dx9_34.dll d3dx9d_34.dll
Direct3D 10 (April 2007) d3dx9_33.dll d3dx9d_33.dll
Direct3D 10 (February 2007)
Direct3D 10 (December 2006)
d3dx9_32.dll d3dx9d_32.dll
Direct3D 10 (October 2006) d3dx9_31.dll d3dx9d_31.dll
Direct3D 10 (August 2006)
Direct3D 10 (June 2006)
Direct3D 10 (April 2006)
d3dx9_30.dll d3dx9d_30.dll
Direct3D 10 (February 2006) d3dx9_29.dll d3dx9d_29.dll
Direct3D 10 (December 2005) d3dx9_28.dll d3dx9d_28.dll
DirectX 9.0 Update (October 2005)
DirectX 9.0 Update (August 2005)
d3dx9_27.dll d3dx9d_27.dll
DirectX 9.0 Update (June 2005) d3dx9_26.dll d3dx9d_26.dll
DirectX 9.0 Update (April 2005) d3dx9_25.dll d3dx9d_25.dll
DirectX 9.0 Update (February 2005) d3dx9_24.dll d3dx9d_24.dll
DirectX 9.0 Update (December 2004)以前 StaticLinkLibraryなので外部依存なし d3dx9d.dll

Translate your PERL code to execute file in Win32

NET程式設計, VC++程式設計 No Comments »

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.

  1. 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).
  2. 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>

How to change and find Autoplay setting?

NET程式設計, Vista學習心得, VC++程式設計 No Comments »

AppPicker.JPG
(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.

Read the rest of this entry »

Use VC8 create ATL Service will failed in CoInitialize

NET程式設計, VC++程式設計 No Comments »

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

CComModule::RegisterServer; CComModule::UnregisterServer

視窗影像處理推薦書目

VC++程式設計 No Comments »


(圖片來源: 悅仕網路書店)

書  名:
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有一定的了解與應用。

Open firewall setting via netsh command

VC++程式設計 No Comments »

Firewall_Setting.JPG

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.

BlockAllowed.JPG

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"

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS 登入