我需要從VB.NET傳遞2個字符串到爲VB6編寫的OCX。 VS2008在OCX上放置了一個包裝器,但是在調用例程時,字符串參數沒有被正確接收。如何傳遞字符串通過Ref從VB.NET到VB6 OCX?
我不知道爲什麼,但我猜測,這是因爲,據我瞭解,在VB6中參數通過By Ref作爲默認值,而在VB.NET中,參數通過Bv Val作爲默認值。
當我將VSX導入到VS 2008中時,它似乎已自動默認我需要的例程的字符串參數By Val,因爲ocx導出信息沒有指定任何內容。
反正是有覆蓋VS 2008,這樣我可以正確地傳遞字符串到OCX?
還有別的,我可以做嗎?
我有30000頁的文件由JSoft,這似乎已經歇業與FastEncrypt加密的,我需要把FastEncrypt到VB.NET程序才能使用它們。
任何幫助將不勝感激。
謝謝。
不是這樣,參數是ByRef還是ByVal是類型庫中籤名的很大一部分。無法猜測它可能是什麼。 – 2010-08-31 11:38:19
你能提供更多的細節嗎?你怎麼知道沒有收到字符串參數?請告訴我們到底發生了什麼,以及你的期望,也許有一些代碼。 – MarkJ 2010-08-31 19:38:46
這個想法是解密一個加密文件。該文件被加密,如FastEncrypt1.EncryptFile(文件名,keystring)。現在使用的調用是FastEncrypt1.DecryptFile(相同的文件名,相同的鍵串)。這在VB6中正常工作,但是當從VB.NET使用時,函數會導致文件被進一步加密。就好像鍵串沒有被正確接收。 – 2010-09-02 05:25:05