各位高手,我用vc编的一段程序,里面含有直接调用txt文本(数据)的函数,我把程序做成了dll,然后在VB里面调用,可是记事本里的数据传不上来,是怎么回事呀?我把一些代码写下来。大家帮我看看。谢谢!
这一段是调用记事本的函数:
#include<iostream.h> #include<fstream.h>
int get_data(int mcw[5]) { ifstream input1; static i,ret=0; input1.open("F:\数据\mcw.txt",ios::in); if(!input1) { cout<<"支撑辊直径数据文件 mcw.txt没打开"<<endl; ret=5; return(ret); } for(i=0;i<5;i++) { input1>>mcw[i]; } input1.close(); return (ret);
}
这一段是主函数: int _stdcall hly(int j) { extern int get_data(int mcw[5]); static int i,ret; int mcw[5];
ret=get_data(mcw); i=j+mcw[0]; cout<<i; return (i); }
这一段是vb调用: Option Explicit
Private Declare Function hly Lib "MyDLL.dll" (ByVal m As Integer) As Integer
Private Sub Command1_Click() Dim b As Integer b = hly(3) Text3.Text = b MsgBox "数据b=" & b End Sub