- PR -

VB6.0からC#で作成したDLLを使用

1
投稿者投稿内容
ポッキー
常連さん
会議室デビュー日: 2004/01/29
投稿数: 43
投稿日時: 2004-03-01 17:51
C#で作成したDLLをVB6.0から使用しています。
DLLはregasmコマンドを使ってレジストリに登録しました。

VB6.0からC#で作成したメソッドを呼び出した場合、
引数が[string]型だと問題なく使用できるのですが、
引数に[long]型や[int]型なのど数値を指定したメソッドの場合、
【型が一致しません】というエラーが表示されます。

VB6.0からC#の[long]型を引数にしたメソッドは呼び出せないのでしょうか?

'********* VB6.0のソース
Dim obj As Class1.cls
Set obj = New Class1.cls
Call obj.Sample1("a", "a", "a") ' この場合メソッドの呼び出し成功
Call obj.Sample2(10, 10, 10) ' この場合メソッドの呼び出し失敗

'********* C#のソース
public class cls{
public void Sample1(string a, string b, string c){
// 処理
}
public void Sample2(long a, long b, long c){
   // 処理
}
}
Jubei
ぬし
会議室デビュー日: 2002/03/02
投稿数: 830
お住まい・勤務地: 関西
投稿日時: 2004-03-02 23:01
諸農です。

VBのことはほとんど知りません。
C#でのlongは64ビット整数ですが、次のVBでの呼び出しは64ビット整数での
呼び出しに準じているのですか?

引用:

Call obj.Sample2(10, 10, 10) ' この場合メソッドの呼び出し失敗



Int32型やInt16型で試されてもダメですか?

_________________
諸農和岳
Powered by Turbo Delphi & Microsoft Visual Studio 2005

十兵衛@わんくま同盟
http://blogs.wankuma.com/jubei/
1

スキルアップ/キャリアアップ(JOB@IT)