我是新手,給自己寫了個客戶管理軟體
這幾天才學會用皮膚,使用的是skin sharp,使用皮膚正常,一切顯示都正常,但現在發現一個問題,,,,就是用end退出這個程式時,VB就會出錯,,如果不加載皮膚則退出正常,,,在線等高手幫忙
本想抓個圖上來,,,但上傳了半天都上傳不上來,,只好直接描述了
下面是主視窗通用里的申明
Private Declare Function SkinH_AttachEx Lib "SkinH_VB6.dll" (ByVal lpSkinFile As String, ByVal lpPasswd As String) As Long '換膚DELL,,
下面是在主視窗的form load事件中的加載皮膚的代碼
SkinH_AttachEx App.Path & "/皮膚/1.she", "" '加載皮膚
面是退出按鈕代碼,,用end 退出程式
Private Sub cmdExit_Click()
End
End Sub
出錯提示為:
0X0126552指令參考的0X0126552記憶體,該記憶體不能為read.
指令A參考了記憶體A?兩個地址是一樣的,,,
在線等高手解答,求大神們幫忙
uj5u.com熱心網友回復:
求高手解答,小弟萬分感謝,度娘度了半天也沒發現解決辦法,只好來這兒求大神了,,在線等中uj5u.com熱心網友回復:
估計是你的那個皮膚模塊用了不少API,在退出程式釋放記憶體時出現了問題,你可以嘗試一下編譯P代碼,很多時候因為API引起的問題通過編譯P代碼都能解決問題,你可以嘗試一下,如果不行,只有寫那個皮膚模塊的人才能解決這種問題了,要不你就只能換個東西來用了。uj5u.com熱心網友回復:
編譯P代碼什么意思我都不懂?界面我確實是要想美化一下,找了幾天試了好幾個東東,發現這個的效果是最好的,,既然有拿來就用的東東我就喜歡拿來就用,自己去寫代碼來美化界面對于我這個新手來說就復雜了,,,所以肯定還是只有用這個,,,,,,,編譯P代碼按我目前這水平來說復雜不?
uj5u.com熱心網友回復:
人家軟體說明里面明確了不要用END這種暴力方法uj5u.com熱心網友回復:
+1
SKINSHARP已經停止升級了,不喜歡!那個皮膚制作器蛋疼。
uj5u.com熱心網友回復:
END結束程式不是一個好習慣.uj5u.com熱心網友回復:
VB的工程屬性里有一個編譯選項,里面有設定編譯的模式。至于你的程式退出方式就像大家說的應該是有問題的,因為沒看見有任何釋放記憶體的代碼,如果你的程式中沒有加載什么需要手動釋放的東西,這樣當然沒問題,但現在既然你的程式出現里故障,那你就該檢查一下你在退出前應該先釋放什么東西后再退出,特別是有些API分配的資源,如果你不主動的釋放它,即使你的程式退出,它一樣會占用系統資源。
uj5u.com熱心網友回復:
可以嘗試著用皮膚控制元件,直接參考、、uj5u.com熱心網友回復:
可以使用PostMessage 關閉視窗,或直接使用unload me.hwndPrivate Declare Function PostMessage Lib "user32" _
Alias "PostMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Dim retval As Long
retval = PostMessage(me.hwnd, WM_CLOSE, 0&, 0&)
uj5u.com熱心網友回復:
skin sharp就這個樣子,我也遇到類似的問題。每次運行出錯后,關閉工程重新再打開一次就好了。uj5u.com熱心網友回復:
是的。除錯時代碼里用END,就容易導致VB無提示關閉! 改為unload等就不會了。uj5u.com熱心網友回復:
感謝樓上幾位仁兄們,問題已經找到,是我另外一段代碼里呼叫了另一個視窗的一個按鈕,相當于激活了另一個視窗,但卻沒有卸載,所以用END結束時出錯,,,后來加上unloadme后就正常了,,,,再次感謝大家不吝賜教,,,我現在的作業就是找段進銷存代碼同我的客戶管理合二為一就對了,,自己懶得去鉆研了,,畢竟我是業余的呵呵,,,,,,uj5u.com熱心網友回復:
我也有這個問題。誰來告訴一下呀。qq 625743565轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/120549.html
標籤:VB基礎類
上一篇:按比例分配總量后自動調整差異
