經過前幾天的艱苦奮斗,我們的作品“飛聊“的基本功能已經實現,從現在開始進入窗口美化、調試、打包等階段。
不過今天上午問題又來了,在給窗體實現換膚功能的時候,雖然添加了模塊(其中也已經調用聲明了相應的API),窗體中也添加了相應的代碼,但在運行時彈出了 “實時錯誤'453':找不到DLL入口點SkinH_AttachEx in SkinH_VB6.dll”的對話框。如下圖:
其實遇到這種問題,很可能是調用的函數與系統接口的問題,我在換膚的模塊中聲明的函數為:
Public Declare Function SkinH_AttachEx Lib "SkinH_VB6.dll" (ByVal lpSkinFile As String, ByVal lpPasswd As String) As Long
提示找不到DLL入口點有幾種可能:
1、在聲明系統調用中的語句的詞出錯(比如把函數名拼寫錯了,這時候需要你重新檢查一下你調用的函數名是否正確),這時如果你不是很清楚該函數的名稱,可以用Dependency Walker分析工具打開相應的DLL動態鏈接庫,用它可以查到正確的函數名稱,也可以檢查某些函數是否被破壞等;
2、在聲明系統調用中的語句的詞忘記了區分大小寫(在聲明系統調用函數時必須區分大小寫);
3、還有一種情況就是你調用的那個DLL文件損壞或者缺少你要調用的函數,比如上面出現的錯誤“找不到DLL入口點SkinH_AttachEx in SkinH_VB6.dll”,很可能就是因為你的SkinH_VB6.dll動態鏈接庫中中缺少SkinH_AttachEx函數或此函數發生錯誤,這時你同樣可以用Dependency Walker檢測一下該動態鏈接庫中是否缺少此函數或此函數是否被破壞,如果是的話,重新下載一個相應的DLL文件來解決。