| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 557 人关注过本帖
标题:[求助]高手快来帮忙呀!有关dll的问题
只看楼主 加入收藏
hly2005
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2005-9-16
收藏
 问题点数:0 回复次数:1 
[求助]高手快来帮忙呀!有关dll的问题
高手快来帮忙呀,我用vc 编了一段程序,做成了dll,然后在vb里面调用,可是数据出现问题。其中的结构体变量的值是有调用记事本来赋值的。运行显示可以赋值,只是似乎随时就会释放了,无法进行下面的运算。我试了一下在没做成DLL时,vc自身运行,数据不会随时释放的。下面是代码,大家帮我看看是怎么回事。该怎样改.大家别把我的程序看的很麻烦呀,其实很简单的一段,只是我把各个文件都写来了,以让大家帮我分析一下。拜托了,谢谢! 头文件(mfs.h)里定义一个结构体:结构体里含有很多个成员,在此列举一个 #ifndef _mfs_ #define _mfs_ struct mfs { int mcw[5]; }; #endif 函数get_data()用来向结构体变量赋值: #include<iostream.h> #include<fstream.h> #include<windows.h> #include"mfs.h"; int get_data(struct mfs mf) { ifstream input1; static i,ret=0; input1.open("D:/数据/rig.txt",ios::in); if(!input1) { cout<<" rig.txt没打开"<<endl; ret=5; return(ret); } for(i=0;i<5;i++) { input1>>mf.mcw ; } input1.close(); return (ret); } 下面是主运算函数hly(): #include <windows.h> #include<iostream.h> #include"mfs.h" struct mfs mf; int _stdcall hly(int szq[5]) { extern int get_data(struct mfs mf); static int i,ret=20; int wyx[5]; ret=get_data(mf); for(i=0;i<5;i++) { wyx=szq+mf.mcw; } return (wyx[2]); } MyDll.cpp文件: #include <windows.h> #include<iostream.h> #include"mfs.h" extern "C"_declspec(dllexport) int _stdcall hly(int szq[5]); BOOL APIENTRY DllMain(HANDLE hModule,DWORD ul_reason_for_call,LPVOID lpReserved) { switch( ul_reason_for_call ) { case DLL_PROCESS_ATTACH: case DLL_THREAD_ATTACH: case DLL_THREAD_DETACH: case DLL_PROCESS_DETACH: break; } return TRUE; } MyDll.def文件: LIBRARY MyDLL EXPORTS hly vb当中: Option Explicit Private Declare Function hly Lib "MyDLL.dll" (ByRef ft As Long) As Long Private Sub Command1_Click() Dim b As Long b = hly(ft(0)) Text1.Text = b End sub
搜索更多相关主题的帖子: 手快 dll 
2005-09-22 21:03
hly2005
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2005-9-16
收藏
得分:0 
怎么连个帮忙的都没有呀?真是郁闷死了。
2005-09-25 11:14
快速回复:[求助]高手快来帮忙呀!有关dll的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014211 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved