PCDVD數位科技討論區

PCDVD數位科技討論區 (https://www.pcdvd.com.tw/index.php)
-   疑難雜症區 (https://www.pcdvd.com.tw/forumdisplay.php?f=34)
-   -   VB6所生出的程式在WINDOWS7上執行會有問題嗎? (https://www.pcdvd.com.tw/showthread.php?t=1050776)

老柏(第四) 2014-06-03 01:57 PM

VB6所生出的程式在WINDOWS7上執行會有問題嗎?
 
我有個舊機台的程式是用VB6寫的,在WINDOWS XP下開發的,因為沒時間&沒投入時間因此一直讓他保持VB6的型式,當然偶而用一用會出現"這個程式執行無效,有問題請聯絡程式設計者",但是如果電腦狀況好(沒中毒、資令褲定期清空)的情況下就很少發生

問題是裝到WINDOWS7後當機率大幅提升;想問一下各位是VB6的緣故還是WINDOWS7的緣故??有沒有辦法可以改善這問題??(在WINDOWS7下我已經開XP相容性和管理者權限給那個程式了,但是還是會當)

harrisonlin 2014-06-06 04:26 PM

在Win7下掛個Virtualbox跑XP呢?

crazyking 2014-06-06 05:57 PM

看看有沒有哪邊用到第三方元件,基本上VB6在WIN7的穩定性還可以。

引用:
作者老柏(第四)
我有個舊機台的程式是用VB6寫的,在WINDOWS XP下開發的,因為沒時間&沒投入時間因此一直讓他保持VB6的型式,當然偶而用一用會出現"這個程式執行無效,有問題請聯絡程式設計者",但是如果電腦狀況好(沒中毒、資令褲定期清空)的情況下就很少發生

問題是裝到WINDOWS7後當機率大幅提升;想問一下各位是VB6的緣故還是WINDOWS7的緣故??有沒有辦法可以改善這問題??(在WINDOWS7下我已經開XP相容性和管理者權限給那個程式了,但是還是會當)

csshih 2014-06-06 07:22 PM

老柏兄
請參考這篇教學
http://blog.miniasp.com/post/2009/0...-bit-WOW64.aspx
接者請參考這篇把缺少的DLL安裝進去
http://msdn.microsoft.com/en-US/vstudio/ms788708.aspx
另,請記得抱持悲觀態度
既然是給機台用的,必定牽涉到WDM版本更迭問題
windows 7 的WDM絕對不相容於VB6的WDM預設值
此邊之修改牽涉到直接重寫DLL,若原本機台廠商有幫忙
則是萬幸,若是沒有,比如說X航ERP在驅動印表機的模組
就認命裝個VM,選bridge mode處理所有I/O選項

老柏(第四) 2014-06-06 10:19 PM

感謝

我試裝WINDOWS 7 的32bit,原想說相容性應該可以,沒想到當機率奇高

csshih 2014-06-06 10:47 PM

引用:
作者老柏(第四)
感謝

我試裝WINDOWS 7 的32bit,原想說相容性應該可以,沒想到當機率奇高


這種牽涉到WDM的vb
沒有辦法保證相容性
WDM和NT kernel是32bit或64bit沒關聯
因為這東西牽涉到底層I/O
老柏兄請先照前一篇文上提到幾個DLL重裝試試看
若這原來就是您寫的原始碼,建議在win7上先裝好IDE,補上全部的DLL
之後在win7下重新編譯過,再try看看

老柏(第四) 2014-06-09 05:31 PM

神奇了

他用我前幾個版本(因為修小BUG或客戶要求的小功能,我會有幾次改版,那時是在XP底下編譯的)去跑反而穩定當機率較低


不過因為程式原本不是我寫的,我再加功能時很常增加全域變數(在不同的子視窗之間傳遞資料用),不知道跟這個有沒有關係????

pets 2014-06-11 10:07 AM

引用:
作者老柏(第四)
神奇了

他用我前幾個版本(因為修小BUG或客戶要求的小功能,我會有幾次改版,那時是在XP底下編譯的)去跑反而穩定當機率較低


不過因為程式原本不是我寫的,我再加功能時很常增加全域變數(在不同的子視窗之間傳遞資料用),不知道跟這個有沒有關係????

有些用到int宣告的可能會有問題 畢竟int是32bit產物
修成var宣告, 預防性修改

老柏(第四) 2014-06-30 09:42 AM

引用:
作者pets
有些用到int宣告的可能會有問題 畢竟int是32bit產物
修成var宣告, 預防性修改

挖哩,真的這樣就好了喔:shock:
我就試試看把所有As Integer取代成As Variant,結果一個禮拜過去了客戶說沒有再發生當機了 :eek::eek:


PS.我的WINDOWS7是32位元的

pets 2014-07-14 12:07 AM

引用:
作者老柏(第四)
挖哩,真的這樣就好了喔:shock:
我就試試看把所有As Integer取代成As Variant,結果一個禮拜過去了客戶說沒有再發生當機了 :eek::eek:


PS.我的WINDOWS7是32位元的

你的是32bit的. 當然跑起來沒問題..
客戶的是64bit...當然就死給你看..

ps. 我可以收顧問費嗎 ??? :laugh: :laugh: :laugh:
最近跟公司鬧的不太愉快 想找工作中XD


所有的時間均為GMT +8。 現在的時間是05:32 PM.

vBulletin Version 3.0.1
powered_by_vbulletin 2025。