Module Module1
Public Declare Function GET_CALCULATION_FAN_ALONE Lib "EbmPapstFan.dll" (ByRef path As String) As Long
Private Declare Function GET_PRODUCTS Lib "ebmpapstfan.dll" (ByRef path As String) As Long
Public Declare Function SET_XML_PATH Lib "EbmPapstFan.dll" (ByRef path As String) As Long
Sub Main()
Dim Int_A As Long, Int_B As Long Str_Antwort As String, Str_Input As String
Str_Input = "C:\Users\Sebastiaan\AppData\Local\ebmpapst\Product_selector_2011\Data\Fans\"
Int_A = SET_XML_PATH(Str_Input)
Int_B = GET_PRODUCTS("114709;A3G800AV0101;")
End Sub
End Module
Int_A = 12884901888
INT_B代わりにVBのC#で、このコードを書き換える方法= 25
?
[DllImport("EbmPapstFan.dll")]
public static extern long SET_XML_PATH(String path);
[DllImport("EbmPapstFan.dll")]
static extern long GET_CALCULATION_FAN_ALONE(String fanDescription);
[DllImport("EbmPapstFan.dll")]
public static extern long GET_PRODUCTS(String fanDescription);
static void Main(string[] args)
{
long a = SET_XML_PATH(@"C:\Users\Sebastiaan\AppData\Local\ebmpapst\Product_selector_2011\Data\Fans\");
long b = GET_PRODUCTS("114709;A3G800AV0101;");
}
結果
A = 579780113483169791
B = 4294967292
私はこのC#コードを書いたが、出力は、これを解決する方法、同じではありませんか?
iはresulsであるint型のに長い変更-1 = B = 4 ....
DLLはDephiであり、ref string
に同じ出力
DLLにはどのように関数が定義されていますか? – SLaks
あなたの文字列はあなたのVBとC#の間で異なります。 'Fans' Vs' PlugFans_R-Typen' –
わかりません、それはDelphiで書かれたDLLです。ファイルにアクセスできないため、dllを開くことができませんでした。 – Sebastiaan