2014-08-29 84 views
1

我有一個VB6項目,我沒有創建,但我必須更新,當我去做的exe我得到一個編譯錯誤:找不到方法或數據成員,它在下面的代碼中也指向「SCom1.FileReceive」。當我查看主窗體時,SCom1控件是一個PictureBox。未找到方法或數據成員編譯問題

該代碼已經工作了5年,但我不知道爲什麼SCom1是一個圖片框,或者爲什麼我得到錯誤,是否是一個參考? SCom1對我來說看起來像一個MSComm功能?讓我知道如果任何人有任何想法,我只是不知道VB足夠知道如何解決這個問題。由於

If SCom1.FileReceive = True Then 
WriteToLog (Now() & " FileReceive was true, now false") 
    SCom1.FileReceive = False 
End If 

回答

5

你已經打開了代碼沒有MSCOMM32.OCX文件或不正確註冊OCX文件的機器。

當vb無法引用ocx時,它會將相關控件轉換爲圖片框控件。

您需要做的是關閉項目而不保存。然後打開system32文件夾並檢查mscomm32.ocx文件。如果該文件不存在,則必須從intenet下載該文件。在命令提示符下使用regsvr32命令註冊文件。

在此之後,您可以打開vb6項目並開始工作。

============================================== ===========

編輯:包括在評論答案的更新,這將有助於其他用戶在未來... :-)

如果方法名稱沒有按對已知的ocx文件(在本例中爲SCom1 .FileReceive)看起來並不陌生,缺少的組件可以是自定義的ocx文件。

因此,檢查工作機上或在項目文件夾中是否有任何OCX文件中的相關名存在(在這種情況下SCom.ocx)。

如果在這樣的名稱中存在文件,請使用regsvr32(如果未註冊)註冊該文件,然後將其添加到工具箱,然後用相關控件(確保名稱理貨)替換圖片框控件。

+0

因此MSComm32.Ocx不能用於我的項目我需要MSComm.Ocx? – Luk6e 2014-08-29 14:42:44

+0

不完全。你需要有mscomm32.ocx文件。這將與你的項目一起工作。檢查您的system32文件夾中是否有mscomm32.ocx。 – Rifky 2014-08-29 14:47:08

+0

我確實擁有它,它運行的機器只有mscomm32.ocx,我的機器或客戶端 – Luk6e 2014-08-29 14:51:06

相關問題